用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

43175 lines
2.2 MiB

/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <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.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 1
/* Push parsers. */
#define YYPUSH 0
/* Pull parsers. */
#define YYPULL 1
/* Substitute the variable and function names. */
#define yyparse MYSQLparse
#define yylex MYSQLlex
#define yyerror MYSQLerror
#define yydebug MYSQLdebug
#define yynerrs MYSQLnerrs
/* Copy the first part of user declarations. */
#line 31 "sql_yacc.yy" /* yacc.c:339 */
/*
Note: YYTHD is passed as an argument to yyparse(), and subsequently to yylex().
*/
#define YYP (YYTHD->m_parser_state)
#define YYLIP (& YYTHD->m_parser_state->m_lip)
#define YYPS (& YYTHD->m_parser_state->m_yacc)
#define YYCSCL (YYLIP->query_charset)
#define YYMEM_ROOT (YYTHD->mem_root)
#define YYINITDEPTH 100
#define YYMAXDEPTH 3200 /* Because of 64K stack */
#define Lex (YYTHD->lex)
#define Select Lex->current_select()
#include <limits>
#include <type_traits> // for std::remove_reference
#include "my_dbug.h"
#include "myisam.h"
#include "myisammrg.h"
#include "mysql/plugin.h"
#include "sql/auth/auth_acls.h"
#include "sql/auth/auth_common.h"
#include "sql/binlog.h" // for MAX_LOG_UNIQUE_FN_EXT
#include "sql/dd/info_schema/show.h" // build_show_...
#include "sql/dd/types/abstract_table.h" // TT_BASE_TABLE
#include "sql/derror.h"
#include "sql/event_parse_data.h"
// used in RESET_MASTER parsing check
#include "sql/gis/srid.h" // gis::srid_t
#include "sql/item_cmpfunc.h"
#include "sql/item_create.h"
#include "sql/item_geofunc.h"
#include "sql/item_json_func.h"
#include "sql/item_regexp_func.h"
#include "sql/key_spec.h"
#include "sql/keycaches.h"
#include "sql/lex_symbol.h"
#include "sql/lex_token.h"
#include "sql/log_event.h"
#include "sql/opt_explain_json.h"
#include "sql/opt_explain_traditional.h"
#include "sql/parser_yystype.h"
#include "sql/protocol.h"
#include "sql/resourcegroups/resource_group_mgr.h" // resource_group_support
#include "sql/resourcegroups/resource_group_sql_cmd.h" // Sql_cmd_*_resource_group etc.
#include "sql/rpl_filter.h"
#include "sql/rpl_msr.h" /* multisource replication */
#include "sql/rpl_slave.h"
#include "sql/rpl_slave.h" // Sql_cmd_change_repl_filter
#include "sql/set_var.h"
#include "sql/sp.h"
#include "sql/sp_head.h"
#include "sql/sp_instr.h"
#include "sql/sp_pcontext.h"
#include "sql/sp_rcontext.h"
#include "sql/sql_admin.h" // Sql_cmd_analyze/Check..._table
#include "sql/sql_alter.h" // Sql_cmd_alter_table*
#include "sql/sql_backup_lock.h" // Sql_cmd_lock_instance,
// Sql_cmd_unlock_instance
#include "sql/sql_base.h" // find_temporary_table
#include "sql/sql_class.h" /* Key_part_spec, enum_filetype */
#include "sql/sql_cmd_srs.h"
#include "sql/sql_component.h"
#include "sql/sql_get_diagnostics.h" // Sql_cmd_get_diagnostics
#include "sql/sql_handler.h" // Sql_cmd_handler_*
#include "sql/sql_import.h" // Sql_cmd_import_table
#include "sql/sql_parse.h" /* comp_*_creator */
#include "sql/sql_partition.h" /* mem_alloc_error */
#include "sql/sql_partition_admin.h" // Sql_cmd_alter_table_*_part.
#include "sql/sql_plugin.h" // plugin_is_ready
#include "sql/sql_profile.h"
#include "sql/sql_select.h" // Sql_cmd_select...
#include "sql/sql_servers.h"
#include "sql/sql_show_status.h" // build_show_session_status, ...
#include "sql/sql_signal.h"
#include "sql/sql_table.h" /* primary_key_name */
#include "sql/sql_tablespace.h" // Sql_cmd_alter_tablespace
#include "sql/sql_trigger.h" // Sql_cmd_create_trigger
#include "sql/sql_truncate.h" // Sql_cmd_truncate_table
/* this is to get the bison compilation windows warnings out */
#ifdef _MSC_VER
/* warning C4065: switch statement contains 'default' but no 'case' labels */
#pragma warning (disable : 4065)
#endif
using std::min;
using std::max;
/// The maximum number of histogram buckets.
static const int MAX_NUMBER_OF_HISTOGRAM_BUCKETS= 1024;
/// The default number of histogram buckets when the user does not specify it
/// explicitly. A value of 100 is chosen because the gain in accuracy above this
/// point seems to be generally low.
static const int DEFAULT_NUMBER_OF_HISTOGRAM_BUCKETS= 100;
int yylex(void *yylval, void *yythd);
#define yyoverflow(A,B,C,D,E,F,G,H) \
{ \
ulong val= *(H); \
if (my_yyoverflow((B), (D), (F), &val)) \
{ \
yyerror(NULL, YYTHD, NULL, (const char*) (A));\
return 2; \
} \
else \
{ \
*(H)= (YYSIZE_T)val; \
} \
}
#define MYSQL_YYABORT YYABORT
#define MYSQL_YYABORT_ERROR(...) \
do \
{ \
my_error(__VA_ARGS__); \
MYSQL_YYABORT; \
} while(0)
#define MYSQL_YYABORT_UNLESS(A) \
if (!(A)) \
{ \
YYTHD->syntax_error(); \
MYSQL_YYABORT; \
}
#define NEW_PTN new(YYMEM_ROOT)
/**
Parse_tree_node::contextualize_() function call wrapper
*/
#define TMP_CONTEXTUALIZE(x) \
do \
{ \
Parse_context pc(YYTHD, Select);\
if ((x)->contextualize_(&pc)) \
MYSQL_YYABORT; \
} while(0)
/**
Parse_tree_node::contextualize() function call wrapper
*/
#define CONTEXTUALIZE(x) \
do \
{ \
std::remove_reference<decltype(*x)>::type::context_t pc(YYTHD, Select); \
if (YYTHD->is_error() || \
(YYTHD->lex->will_contextualize && (x)->contextualize(&pc))) \
MYSQL_YYABORT; \
} while(0)
/**
Item::itemize() function call wrapper
*/
#define ITEMIZE(x, y) \
do \
{ \
Parse_context pc(YYTHD, Select); \
if (YYTHD->is_error() || \
(YYTHD->lex->will_contextualize && (x)->itemize(&pc, (y)))) \
MYSQL_YYABORT; \
} while(0)
/**
Parse_tree_root::make_cmd() wrapper to raise postponed error message on OOM
@note x may be NULL because of OOM error.
*/
#define MAKE_CMD(x) \
do \
{ \
if (YYTHD->is_error() || Lex->make_sql_cmd(x)) \
MYSQL_YYABORT; \
} while(0)
#ifndef DBUG_OFF
#define YYDEBUG 1
#else
#define YYDEBUG 0
#endif
/**
@brief Bison callback to report a syntax/OOM error
This function is invoked by the bison-generated parser
when a syntax error or an out-of-memory
condition occurs, then the parser function MYSQLparse()
returns 1 to the caller.
This function is not invoked when the
parser is requested to abort by semantic action code
by means of YYABORT or YYACCEPT macros..
This function is not for use in semantic actions and is internal to
the parser, as it performs some pre-return cleanup.
In semantic actions, please use syntax_error or my_error to
push an error into the error stack and MYSQL_YYABORT
to abort from the parser.
*/
static
void MYSQLerror(YYLTYPE *location, THD *thd, Parse_tree_root **, const char *s)
{
if (strcmp(s, "syntax error") == 0) {
thd->syntax_error_at(*location);
} else if (strcmp(s, "memory exhausted") == 0) {
my_error(ER_OOM, MYF(0));
} else {
// Find omitted error messages in the generated file (sql_yacc.cc) and fix:
DBUG_ASSERT(false);
my_error(ER_UNKNOWN_ERROR, MYF(0));
}
}
#ifndef DBUG_OFF
void turn_parser_debug_on()
{
/*
MYSQLdebug is in sql/sql_yacc.cc, in bison generated code.
Turning this option on is **VERY** verbose, and should be
used when investigating a syntax error problem only.
The syntax to run with bison traces is as follows :
- Starting a server manually :
mysqld --debug="d,parser_debug" ...
- Running a test :
mysql-test-run.pl --mysqld="--debug=d,parser_debug" ...
The result will be in the process stderr (var/log/master.err)
*/
extern int yydebug;
yydebug= 1;
}
#endif
static bool is_native_function(const LEX_STRING &name)
{
if (find_native_function_builder(name) != nullptr)
return true;
if (is_lex_native_function(&name))
return true;
return false;
}
/**
Helper action for a case statement (entering the CASE).
This helper is used for both 'simple' and 'searched' cases.
This helper, with the other case_stmt_action_..., is executed when
the following SQL code is parsed:
<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>
@param thd thread handler
*/
static void case_stmt_action_case(THD *thd)
{
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp->m_parser_data.new_cont_backpatch();
/*
BACKPATCH: Creating target label for the jump to
"case_stmt_action_end_case"
(Instruction 12 in the example)
*/
pctx->push_label(thd, EMPTY_CSTR, sp->instructions());
}
/**
Helper action for a case then statements.
This helper is used for both 'simple' and 'searched' cases.
@param lex the parser lex context
*/
static bool case_stmt_action_then(THD *thd, LEX *lex)
{
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_instr_jump *i =
new (thd->mem_root) sp_instr_jump(sp->instructions(), pctx);
if (!i || sp->add_instr(thd, i))
return true;
/*
BACKPATCH: Resolving forward jump from
"case_stmt_action_when" to "case_stmt_action_then"
(jump_if_not from instruction 2 to 5, 5 to 8 ... in the example)
*/
sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions());
/*
BACKPATCH: Registering forward jump from
"case_stmt_action_then" to "case_stmt_action_end_case"
(jump from instruction 4 to 12, 7 to 12 ... in the example)
*/
return sp->m_parser_data.add_backpatch_entry(i, pctx->last_label());
}
/**
Helper action for an end case.
This helper is used for both 'simple' and 'searched' cases.
@param lex the parser lex context
@param simple true for simple cases, false for searched cases
*/
static void case_stmt_action_end_case(LEX *lex, bool simple)
{
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
/*
BACKPATCH: Resolving forward jump from
"case_stmt_action_then" to "case_stmt_action_end_case"
(jump from instruction 4 to 12, 7 to 12 ... in the example)
*/
sp->m_parser_data.do_backpatch(pctx->pop_label(), sp->instructions());
if (simple)
pctx->pop_case_expr_id();
sp->m_parser_data.do_cont_backpatch(sp->instructions());
}
static void init_index_hints(List<Index_hint> *hints, index_hint_type type,
index_clause_map clause)
{
List_iterator<Index_hint> it(*hints);
Index_hint *hint;
while ((hint= it++))
{
hint->type= type;
hint->clause= clause;
}
}
bool my_yyoverflow(short **a, YYSTYPE **b, YYLTYPE **c, ulong *yystacksize);
#include "sql/parse_tree_column_attrs.h"
#include "sql/parse_tree_handler.h"
#include "sql/parse_tree_items.h"
#include "sql/parse_tree_nodes.h"
#include "sql/parse_tree_partitions.h"
void warn_about_deprecated_national(THD *thd)
{
if (native_strcasecmp(national_charset_info->csname, "utf8") == 0)
push_warning(thd, ER_DEPRECATED_NATIONAL);
}
void warn_about_deprecated_binary(THD *thd)
{
push_deprecated_warn(thd, "BINARY as attribute of a type",
"a CHARACTER SET clause with _bin collation");
}
#line 484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# endif
/* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif
/* In a future release of Bison, this section will be replaced
by #include "sql_yacc.h". */
#ifndef YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_INCLUDED
# define YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int MYSQLdebug;
#endif
/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
ABORT_SYM = 258,
ACCESSIBLE_SYM = 259,
ACCOUNT_SYM = 260,
ACTION = 261,
ADD = 262,
ADDDATE_SYM = 263,
AFTER_SYM = 264,
AGAINST = 265,
AGGREGATE_SYM = 266,
ALGORITHM_SYM = 267,
ALL = 268,
ALTER = 269,
ALWAYS_SYM = 270,
OBSOLETE_TOKEN_271 = 271,
ANALYZE_SYM = 272,
AND_AND_SYM = 273,
AND_SYM = 274,
ANY_SYM = 275,
AS = 276,
ASC = 277,
ASCII_SYM = 278,
ASENSITIVE_SYM = 279,
AT_SYM = 280,
AUTOEXTEND_SIZE_SYM = 281,
AUTO_INC = 282,
AVG_ROW_LENGTH = 283,
AVG_SYM = 284,
BACKUP_SYM = 285,
BEFORE_SYM = 286,
BEGIN_SYM = 287,
BETWEEN_SYM = 288,
BIGINT_SYM = 289,
BINARY_SYM = 290,
BINLOG_SYM = 291,
BIN_NUM = 292,
BIT_AND_SYM = 293,
BIT_OR_SYM = 294,
BIT_SYM = 295,
BIT_XOR_SYM = 296,
BLOB_SYM = 297,
BLOCK_SYM = 298,
BOOLEAN_SYM = 299,
BOOL_SYM = 300,
BOTH = 301,
BTREE_SYM = 302,
BY = 303,
BYTE_SYM = 304,
CACHE_SYM = 305,
CALL_SYM = 306,
CASCADE = 307,
CASCADED = 308,
CASE_SYM = 309,
CAST_SYM = 310,
CATALOG_NAME_SYM = 311,
CHAIN_SYM = 312,
CHANGE = 313,
CHANGED = 314,
CHANNEL_SYM = 315,
CHARSET = 316,
CHAR_SYM = 317,
CHECKSUM_SYM = 318,
CHECK_SYM = 319,
CIPHER_SYM = 320,
CLASS_ORIGIN_SYM = 321,
CLIENT_SYM = 322,
CLOSE_SYM = 323,
COALESCE = 324,
CODE_SYM = 325,
COLLATE_SYM = 326,
COLLATION_SYM = 327,
COLUMNS = 328,
COLUMN_SYM = 329,
COLUMN_FORMAT_SYM = 330,
COLUMN_NAME_SYM = 331,
COMMENT_SYM = 332,
COMMITTED_SYM = 333,
COMMIT_SYM = 334,
COMPACT_SYM = 335,
COMPLETION_SYM = 336,
COMPRESSED_SYM = 337,
COMPRESSION_SYM = 338,
ENCRYPTION_SYM = 339,
CONCURRENT = 340,
CONDITION_SYM = 341,
CONNECTION_SYM = 342,
CONSISTENT_SYM = 343,
CONSTRAINT = 344,
CONSTRAINT_CATALOG_SYM = 345,
CONSTRAINT_NAME_SYM = 346,
CONSTRAINT_SCHEMA_SYM = 347,
CONTAINS_SYM = 348,
CONTEXT_SYM = 349,
CONTINUE_SYM = 350,
CONVERT_SYM = 351,
COUNT_SYM = 352,
CPU_SYM = 353,
CREATE = 354,
CROSS = 355,
CUBE_SYM = 356,
CURDATE = 357,
CURRENT_SYM = 358,
CURRENT_USER = 359,
CURSOR_SYM = 360,
CURSOR_NAME_SYM = 361,
CURTIME = 362,
DATABASE = 363,
DATABASES = 364,
DATAFILE_SYM = 365,
DATA_SYM = 366,
DATETIME_SYM = 367,
DATE_ADD_INTERVAL = 368,
DATE_SUB_INTERVAL = 369,
DATE_SYM = 370,
DAY_HOUR_SYM = 371,
DAY_MICROSECOND_SYM = 372,
DAY_MINUTE_SYM = 373,
DAY_SECOND_SYM = 374,
DAY_SYM = 375,
DEALLOCATE_SYM = 376,
DECIMAL_NUM = 377,
DECIMAL_SYM = 378,
DECLARE_SYM = 379,
DEFAULT_SYM = 380,
DEFAULT_AUTH_SYM = 381,
DEFINER_SYM = 382,
DELAYED_SYM = 383,
DELAY_KEY_WRITE_SYM = 384,
DELETE_SYM = 385,
DESC = 386,
DESCRIBE = 387,
OBSOLETE_TOKEN_388 = 388,
DETERMINISTIC_SYM = 389,
DIAGNOSTICS_SYM = 390,
DIRECTORY_SYM = 391,
DISABLE_SYM = 392,
DISCARD_SYM = 393,
DISK_SYM = 394,
DISTINCT = 395,
DIV_SYM = 396,
DOUBLE_SYM = 397,
DO_SYM = 398,
DROP = 399,
DUAL_SYM = 400,
DUMPFILE = 401,
DUPLICATE_SYM = 402,
DYNAMIC_SYM = 403,
EACH_SYM = 404,
ELSE = 405,
ELSEIF_SYM = 406,
ENABLE_SYM = 407,
ENCLOSED = 408,
END = 409,
ENDS_SYM = 410,
END_OF_INPUT = 411,
ENGINES_SYM = 412,
ENGINE_SYM = 413,
ENUM_SYM = 414,
EQ = 415,
EQUAL_SYM = 416,
ERROR_SYM = 417,
ERRORS = 418,
ESCAPED = 419,
ESCAPE_SYM = 420,
EVENTS_SYM = 421,
EVENT_SYM = 422,
EVERY_SYM = 423,
EXCHANGE_SYM = 424,
EXECUTE_SYM = 425,
EXISTS = 426,
EXIT_SYM = 427,
EXPANSION_SYM = 428,
EXPIRE_SYM = 429,
EXPORT_SYM = 430,
EXTENDED_SYM = 431,
EXTENT_SIZE_SYM = 432,
EXTRACT_SYM = 433,
FALSE_SYM = 434,
FAST_SYM = 435,
FAULTS_SYM = 436,
FETCH_SYM = 437,
FILE_SYM = 438,
FILE_BLOCK_SIZE_SYM = 439,
FILTER_SYM = 440,
FIRST_SYM = 441,
FIXED_SYM = 442,
FLOAT_NUM = 443,
FLOAT_SYM = 444,
FLUSH_SYM = 445,
FOLLOWS_SYM = 446,
FORCE_SYM = 447,
FOREIGN = 448,
FOR_SYM = 449,
FORMAT_SYM = 450,
FOUND_SYM = 451,
FROM = 452,
FULL = 453,
FULLTEXT_SYM = 454,
FUNCTION_SYM = 455,
GE = 456,
GENERAL = 457,
GENERATED = 458,
GROUP_REPLICATION = 459,
GEOMETRYCOLLECTION_SYM = 460,
GEOMETRY_SYM = 461,
GET_FORMAT = 462,
GET_SYM = 463,
GLOBAL_SYM = 464,
GRANT = 465,
GRANTS = 466,
GROUP_SYM = 467,
GROUP_CONCAT_SYM = 468,
GT_SYM = 469,
HANDLER_SYM = 470,
HASH_SYM = 471,
HAVING = 472,
HELP_SYM = 473,
HEX_NUM = 474,
HIGH_PRIORITY = 475,
HOST_SYM = 476,
HOSTS_SYM = 477,
HOUR_MICROSECOND_SYM = 478,
HOUR_MINUTE_SYM = 479,
HOUR_SECOND_SYM = 480,
HOUR_SYM = 481,
IDENT = 482,
IDENTIFIED_SYM = 483,
IDENT_QUOTED = 484,
IF = 485,
IGNORE_SYM = 486,
IGNORE_SERVER_IDS_SYM = 487,
IMPORT = 488,
INDEXES = 489,
INDEX_SYM = 490,
INFILE = 491,
INITIAL_SIZE_SYM = 492,
INNER_SYM = 493,
INOUT_SYM = 494,
INSENSITIVE_SYM = 495,
INSERT_SYM = 496,
INSERT_METHOD = 497,
INSTANCE_SYM = 498,
INSTALL_SYM = 499,
INTERVAL_SYM = 500,
INTO = 501,
INT_SYM = 502,
INVOKER_SYM = 503,
IN_SYM = 504,
IO_AFTER_GTIDS = 505,
IO_BEFORE_GTIDS = 506,
IO_SYM = 507,
IPC_SYM = 508,
IS = 509,
ISOLATION = 510,
ISSUER_SYM = 511,
ITERATE_SYM = 512,
JOIN_SYM = 513,
JSON_SEPARATOR_SYM = 514,
JSON_SYM = 515,
KEYS = 516,
KEY_BLOCK_SIZE = 517,
KEY_SYM = 518,
KILL_SYM = 519,
LANGUAGE_SYM = 520,
LAST_SYM = 521,
LE = 522,
LEADING = 523,
LEAVES = 524,
LEAVE_SYM = 525,
LEFT = 526,
LESS_SYM = 527,
LEVEL_SYM = 528,
LEX_HOSTNAME = 529,
LIKE = 530,
LIMIT = 531,
LINEAR_SYM = 532,
LINES = 533,
LINESTRING_SYM = 534,
LIST_SYM = 535,
LOAD = 536,
LOCAL_SYM = 537,
OBSOLETE_TOKEN_538 = 538,
LOCKS_SYM = 539,
LOCK_SYM = 540,
LOGFILE_SYM = 541,
LOGS_SYM = 542,
LONGBLOB_SYM = 543,
LONGTEXT_SYM = 544,
LONG_NUM = 545,
LONG_SYM = 546,
LOOP_SYM = 547,
LOW_PRIORITY = 548,
LT = 549,
MASTER_AUTO_POSITION_SYM = 550,
MASTER_BIND_SYM = 551,
MASTER_CONNECT_RETRY_SYM = 552,
MASTER_DELAY_SYM = 553,
MASTER_HOST_SYM = 554,
MASTER_LOG_FILE_SYM = 555,
MASTER_LOG_POS_SYM = 556,
MASTER_PASSWORD_SYM = 557,
MASTER_PORT_SYM = 558,
MASTER_RETRY_COUNT_SYM = 559,
MASTER_SERVER_ID_SYM = 560,
MASTER_SSL_CAPATH_SYM = 561,
MASTER_TLS_VERSION_SYM = 562,
MASTER_SSL_CA_SYM = 563,
MASTER_SSL_CERT_SYM = 564,
MASTER_SSL_CIPHER_SYM = 565,
MASTER_SSL_CRL_SYM = 566,
MASTER_SSL_CRLPATH_SYM = 567,
MASTER_SSL_KEY_SYM = 568,
MASTER_SSL_SYM = 569,
MASTER_SSL_VERIFY_SERVER_CERT_SYM = 570,
MASTER_SYM = 571,
MASTER_USER_SYM = 572,
MASTER_HEARTBEAT_PERIOD_SYM = 573,
MATCH = 574,
MAX_CONNECTIONS_PER_HOUR = 575,
MAX_QUERIES_PER_HOUR = 576,
MAX_ROWS = 577,
MAX_SIZE_SYM = 578,
MAX_SYM = 579,
MAX_UPDATES_PER_HOUR = 580,
MAX_USER_CONNECTIONS_SYM = 581,
MAX_VALUE_SYM = 582,
MEDIUMBLOB_SYM = 583,
MEDIUMINT_SYM = 584,
MEDIUMTEXT_SYM = 585,
MEDIUM_SYM = 586,
MEMORY_SYM = 587,
MERGE_SYM = 588,
MESSAGE_TEXT_SYM = 589,
MICROSECOND_SYM = 590,
MIGRATE_SYM = 591,
MINUTE_MICROSECOND_SYM = 592,
MINUTE_SECOND_SYM = 593,
MINUTE_SYM = 594,
MIN_ROWS = 595,
MIN_SYM = 596,
MODE_SYM = 597,
MODIFIES_SYM = 598,
MODIFY_SYM = 599,
MOD_SYM = 600,
MONTH_SYM = 601,
MULTILINESTRING_SYM = 602,
MULTIPOINT_SYM = 603,
MULTIPOLYGON_SYM = 604,
MUTEX_SYM = 605,
MYSQL_ERRNO_SYM = 606,
NAMES_SYM = 607,
NAME_SYM = 608,
NATIONAL_SYM = 609,
NATURAL = 610,
NCHAR_STRING = 611,
NCHAR_SYM = 612,
NDBCLUSTER_SYM = 613,
NE = 614,
NEG = 615,
NEVER_SYM = 616,
NEW_SYM = 617,
NEXT_SYM = 618,
NODEGROUP_SYM = 619,
NONE_SYM = 620,
NOT2_SYM = 621,
NOT_SYM = 622,
NOW_SYM = 623,
NO_SYM = 624,
NO_WAIT_SYM = 625,
NO_WRITE_TO_BINLOG = 626,
NULL_SYM = 627,
NUM = 628,
NUMBER_SYM = 629,
NUMERIC_SYM = 630,
NVARCHAR_SYM = 631,
OFFSET_SYM = 632,
ON_SYM = 633,
ONE_SYM = 634,
ONLY_SYM = 635,
OPEN_SYM = 636,
OPTIMIZE = 637,
OPTIMIZER_COSTS_SYM = 638,
OPTIONS_SYM = 639,
OPTION = 640,
OPTIONALLY = 641,
OR2_SYM = 642,
ORDER_SYM = 643,
OR_OR_SYM = 644,
OR_SYM = 645,
OUTER_SYM = 646,
OUTFILE = 647,
OUT_SYM = 648,
OWNER_SYM = 649,
PACK_KEYS_SYM = 650,
PAGE_SYM = 651,
PARAM_MARKER = 652,
PARSER_SYM = 653,
OBSOLETE_TOKEN_654 = 654,
PARTIAL = 655,
PARTITION_SYM = 656,
PARTITIONS_SYM = 657,
PARTITIONING_SYM = 658,
PASSWORD = 659,
PHASE_SYM = 660,
PLUGIN_DIR_SYM = 661,
PLUGIN_SYM = 662,
PLUGINS_SYM = 663,
POINT_SYM = 664,
POLYGON_SYM = 665,
PORT_SYM = 666,
POSITION_SYM = 667,
PRECEDES_SYM = 668,
PRECISION = 669,
PREPARE_SYM = 670,
PRESERVE_SYM = 671,
PREV_SYM = 672,
PRIMARY_SYM = 673,
PRIVILEGES = 674,
PROCEDURE_SYM = 675,
PROCESS = 676,
PROCESSLIST_SYM = 677,
PROFILE_SYM = 678,
PROFILES_SYM = 679,
PROXY_SYM = 680,
PURGE = 681,
QUARTER_SYM = 682,
QUERY_SYM = 683,
QUICK = 684,
RANGE_SYM = 685,
READS_SYM = 686,
READ_ONLY_SYM = 687,
READ_SYM = 688,
READ_WRITE_SYM = 689,
REAL_SYM = 690,
REBUILD_SYM = 691,
RECOVER_SYM = 692,
OBSOLETE_TOKEN_693 = 693,
REDO_BUFFER_SIZE_SYM = 694,
REDUNDANT_SYM = 695,
REFERENCES = 696,
REGEXP = 697,
RELAY = 698,
RELAYLOG_SYM = 699,
RELAY_LOG_FILE_SYM = 700,
RELAY_LOG_POS_SYM = 701,
RELAY_THREAD = 702,
RELEASE_SYM = 703,
RELOAD = 704,
REMOVE_SYM = 705,
RENAME = 706,
REORGANIZE_SYM = 707,
REPAIR = 708,
REPEATABLE_SYM = 709,
REPEAT_SYM = 710,
REPLACE_SYM = 711,
REPLICATION = 712,
REPLICATE_DO_DB = 713,
REPLICATE_IGNORE_DB = 714,
REPLICATE_DO_TABLE = 715,
REPLICATE_IGNORE_TABLE = 716,
REPLICATE_WILD_DO_TABLE = 717,
REPLICATE_WILD_IGNORE_TABLE = 718,
REPLICATE_REWRITE_DB = 719,
REQUIRE_SYM = 720,
RESET_SYM = 721,
RESIGNAL_SYM = 722,
RESOURCES = 723,
RESTORE_SYM = 724,
RESTRICT = 725,
RESUME_SYM = 726,
RETURNED_SQLSTATE_SYM = 727,
RETURNS_SYM = 728,
RETURN_SYM = 729,
REVERSE_SYM = 730,
REVOKE = 731,
RIGHT = 732,
ROLLBACK_SYM = 733,
ROLLUP_SYM = 734,
ROTATE_SYM = 735,
ROUTINE_SYM = 736,
ROWS_SYM = 737,
ROW_FORMAT_SYM = 738,
ROW_SYM = 739,
ROW_COUNT_SYM = 740,
RTREE_SYM = 741,
SAVEPOINT_SYM = 742,
SCHEDULE_SYM = 743,
SCHEMA_NAME_SYM = 744,
SECOND_MICROSECOND_SYM = 745,
SECOND_SYM = 746,
SECURITY_SYM = 747,
SELECT_SYM = 748,
SENSITIVE_SYM = 749,
SEPARATOR_SYM = 750,
SERIALIZABLE_SYM = 751,
SERIAL_SYM = 752,
SESSION_SYM = 753,
SERVER_SYM = 754,
OBSOLETE_TOKEN_755 = 755,
SET_SYM = 756,
SET_VAR = 757,
SHARE_SYM = 758,
SHIFT_LEFT = 759,
SHIFT_RIGHT = 760,
SHOW = 761,
SHUTDOWN = 762,
SIGNAL_SYM = 763,
SIGNED_SYM = 764,
SIMPLE_SYM = 765,
SLAVE = 766,
SLOW = 767,
SMALLINT_SYM = 768,
SNAPSHOT_SYM = 769,
SOCKET_SYM = 770,
SONAME_SYM = 771,
SOUNDS_SYM = 772,
SOURCE_SYM = 773,
SPATIAL_SYM = 774,
SPECIFIC_SYM = 775,
SQLEXCEPTION_SYM = 776,
SQLSTATE_SYM = 777,
SQLWARNING_SYM = 778,
SQL_AFTER_GTIDS = 779,
SQL_AFTER_MTS_GAPS = 780,
SQL_BEFORE_GTIDS = 781,
SQL_BIG_RESULT = 782,
SQL_BUFFER_RESULT = 783,
OBSOLETE_TOKEN_784 = 784,
SQL_CALC_FOUND_ROWS = 785,
SQL_NO_CACHE_SYM = 786,
SQL_SMALL_RESULT = 787,
SQL_SYM = 788,
SQL_THREAD = 789,
SSL_SYM = 790,
STACKED_SYM = 791,
STARTING = 792,
STARTS_SYM = 793,
START_SYM = 794,
STATS_AUTO_RECALC_SYM = 795,
STATS_PERSISTENT_SYM = 796,
STATS_SAMPLE_PAGES_SYM = 797,
STATUS_SYM = 798,
STDDEV_SAMP_SYM = 799,
STD_SYM = 800,
STOP_SYM = 801,
STORAGE_SYM = 802,
STORED_SYM = 803,
STRAIGHT_JOIN = 804,
STRING_SYM = 805,
SUBCLASS_ORIGIN_SYM = 806,
SUBDATE_SYM = 807,
SUBJECT_SYM = 808,
SUBPARTITIONS_SYM = 809,
SUBPARTITION_SYM = 810,
SUBSTRING = 811,
SUM_SYM = 812,
SUPER_SYM = 813,
SUSPEND_SYM = 814,
SWAPS_SYM = 815,
SWITCHES_SYM = 816,
SYSDATE = 817,
TABLES = 818,
TABLESPACE_SYM = 819,
OBSOLETE_TOKEN_820 = 820,
TABLE_SYM = 821,
TABLE_CHECKSUM_SYM = 822,
TABLE_NAME_SYM = 823,
TEMPORARY = 824,
TEMPTABLE_SYM = 825,
TERMINATED = 826,
TEXT_STRING = 827,
TEXT_SYM = 828,
THAN_SYM = 829,
THEN_SYM = 830,
TIMESTAMP_SYM = 831,
TIMESTAMP_ADD = 832,
TIMESTAMP_DIFF = 833,
TIME_SYM = 834,
TINYBLOB_SYM = 835,
TINYINT_SYM = 836,
TINYTEXT_SYN = 837,
TO_SYM = 838,
TRAILING = 839,
TRANSACTION_SYM = 840,
TRIGGERS_SYM = 841,
TRIGGER_SYM = 842,
TRIM = 843,
TRUE_SYM = 844,
TRUNCATE_SYM = 845,
TYPES_SYM = 846,
TYPE_SYM = 847,
OBSOLETE_TOKEN_848 = 848,
ULONGLONG_NUM = 849,
UNCOMMITTED_SYM = 850,
UNDEFINED_SYM = 851,
UNDERSCORE_CHARSET = 852,
UNDOFILE_SYM = 853,
UNDO_BUFFER_SIZE_SYM = 854,
UNDO_SYM = 855,
UNICODE_SYM = 856,
UNINSTALL_SYM = 857,
UNION_SYM = 858,
UNIQUE_SYM = 859,
UNKNOWN_SYM = 860,
UNLOCK_SYM = 861,
UNSIGNED_SYM = 862,
UNTIL_SYM = 863,
UPDATE_SYM = 864,
UPGRADE_SYM = 865,
USAGE = 866,
USER = 867,
USE_FRM = 868,
USE_SYM = 869,
USING = 870,
UTC_DATE_SYM = 871,
UTC_TIMESTAMP_SYM = 872,
UTC_TIME_SYM = 873,
VALIDATION_SYM = 874,
VALUES = 875,
VALUE_SYM = 876,
VARBINARY_SYM = 877,
VARCHAR_SYM = 878,
VARIABLES = 879,
VARIANCE_SYM = 880,
VARYING = 881,
VAR_SAMP_SYM = 882,
VIEW_SYM = 883,
VIRTUAL_SYM = 884,
WAIT_SYM = 885,
WARNINGS = 886,
WEEK_SYM = 887,
WEIGHT_STRING_SYM = 888,
WHEN_SYM = 889,
WHERE = 890,
WHILE_SYM = 891,
WITH = 892,
OBSOLETE_TOKEN_893 = 893,
WITH_ROLLUP_SYM = 894,
WITHOUT_SYM = 895,
WORK_SYM = 896,
WRAPPER_SYM = 897,
WRITE_SYM = 898,
X509_SYM = 899,
XA_SYM = 900,
XID_SYM = 901,
XML_SYM = 902,
XOR = 903,
YEAR_MONTH_SYM = 904,
YEAR_SYM = 905,
ZEROFILL_SYM = 906,
JSON_UNQUOTED_SEPARATOR_SYM = 907,
PERSIST_SYM = 908,
ROLE_SYM = 909,
ADMIN_SYM = 910,
INVISIBLE_SYM = 911,
VISIBLE_SYM = 912,
EXCEPT_SYM = 913,
COMPONENT_SYM = 914,
RECURSIVE_SYM = 915,
GRAMMAR_SELECTOR_EXPR = 916,
GRAMMAR_SELECTOR_GCOL = 917,
GRAMMAR_SELECTOR_PART = 918,
GRAMMAR_SELECTOR_CTE = 919,
JSON_OBJECTAGG = 920,
JSON_ARRAYAGG = 921,
OF_SYM = 922,
SKIP_SYM = 923,
LOCKED_SYM = 924,
NOWAIT_SYM = 925,
GROUPING_SYM = 926,
PERSIST_ONLY_SYM = 927,
HISTOGRAM_SYM = 928,
BUCKETS_SYM = 929,
OBSOLETE_TOKEN_930 = 930,
CLONE_SYM = 931,
CUME_DIST_SYM = 932,
DENSE_RANK_SYM = 933,
EXCLUDE_SYM = 934,
FIRST_VALUE_SYM = 935,
FOLLOWING_SYM = 936,
GROUPS_SYM = 937,
LAG_SYM = 938,
LAST_VALUE_SYM = 939,
LEAD_SYM = 940,
NTH_VALUE_SYM = 941,
NTILE_SYM = 942,
NULLS_SYM = 943,
OTHERS_SYM = 944,
OVER_SYM = 945,
PERCENT_RANK_SYM = 946,
PRECEDING_SYM = 947,
RANK_SYM = 948,
RESPECT_SYM = 949,
ROW_NUMBER_SYM = 950,
TIES_SYM = 951,
UNBOUNDED_SYM = 952,
WINDOW_SYM = 953,
EMPTY_SYM = 954,
JSON_TABLE_SYM = 955,
NESTED_SYM = 956,
ORDINALITY_SYM = 957,
PATH_SYM = 958,
HISTORY_SYM = 959,
REUSE_SYM = 960,
SRID_SYM = 961,
THREAD_PRIORITY_SYM = 962,
RESOURCE_SYM = 963,
SYSTEM_SYM = 964,
VCPU_SYM = 965,
MASTER_PUBLIC_KEY_PATH_SYM = 966,
GET_MASTER_PUBLIC_KEY_SYM = 967,
RESTART_SYM = 968,
DEFINITION_SYM = 969,
DESCRIPTION_SYM = 970,
ORGANIZATION_SYM = 971,
REFERENCE_SYM = 972,
ACTIVE_SYM = 973,
INACTIVE_SYM = 974,
LATERAL_SYM = 975,
ARRAY_SYM = 976,
MEMBER_SYM = 977,
OPTIONAL_SYM = 978,
SECONDARY_SYM = 979,
SECONDARY_ENGINE_SYM = 980,
SECONDARY_LOAD_SYM = 981,
SECONDARY_UNLOAD_SYM = 982,
RETAIN_SYM = 983,
OLD_SYM = 984,
ENFORCED_SYM = 985,
OJ_SYM = 986,
NETWORK_NAMESPACE_SYM = 987,
RANDOM_SYM = 988,
MASTER_COMPRESSION_ALGORITHM_SYM = 989,
MASTER_ZSTD_COMPRESSION_LEVEL_SYM = 990,
PRIVILEGE_CHECKS_USER_SYM = 991,
CONDITIONLESS_JOIN = 992,
SUBQUERY_AS_EXPR = 993,
EMPTY_FROM_CLAUSE = 994
};
#endif
/* Tokens. */
#define ABORT_SYM 258
#define ACCESSIBLE_SYM 259
#define ACCOUNT_SYM 260
#define ACTION 261
#define ADD 262
#define ADDDATE_SYM 263
#define AFTER_SYM 264
#define AGAINST 265
#define AGGREGATE_SYM 266
#define ALGORITHM_SYM 267
#define ALL 268
#define ALTER 269
#define ALWAYS_SYM 270
#define OBSOLETE_TOKEN_271 271
#define ANALYZE_SYM 272
#define AND_AND_SYM 273
#define AND_SYM 274
#define ANY_SYM 275
#define AS 276
#define ASC 277
#define ASCII_SYM 278
#define ASENSITIVE_SYM 279
#define AT_SYM 280
#define AUTOEXTEND_SIZE_SYM 281
#define AUTO_INC 282
#define AVG_ROW_LENGTH 283
#define AVG_SYM 284
#define BACKUP_SYM 285
#define BEFORE_SYM 286
#define BEGIN_SYM 287
#define BETWEEN_SYM 288
#define BIGINT_SYM 289
#define BINARY_SYM 290
#define BINLOG_SYM 291
#define BIN_NUM 292
#define BIT_AND_SYM 293
#define BIT_OR_SYM 294
#define BIT_SYM 295
#define BIT_XOR_SYM 296
#define BLOB_SYM 297
#define BLOCK_SYM 298
#define BOOLEAN_SYM 299
#define BOOL_SYM 300
#define BOTH 301
#define BTREE_SYM 302
#define BY 303
#define BYTE_SYM 304
#define CACHE_SYM 305
#define CALL_SYM 306
#define CASCADE 307
#define CASCADED 308
#define CASE_SYM 309
#define CAST_SYM 310
#define CATALOG_NAME_SYM 311
#define CHAIN_SYM 312
#define CHANGE 313
#define CHANGED 314
#define CHANNEL_SYM 315
#define CHARSET 316
#define CHAR_SYM 317
#define CHECKSUM_SYM 318
#define CHECK_SYM 319
#define CIPHER_SYM 320
#define CLASS_ORIGIN_SYM 321
#define CLIENT_SYM 322
#define CLOSE_SYM 323
#define COALESCE 324
#define CODE_SYM 325
#define COLLATE_SYM 326
#define COLLATION_SYM 327
#define COLUMNS 328
#define COLUMN_SYM 329
#define COLUMN_FORMAT_SYM 330
#define COLUMN_NAME_SYM 331
#define COMMENT_SYM 332
#define COMMITTED_SYM 333
#define COMMIT_SYM 334
#define COMPACT_SYM 335
#define COMPLETION_SYM 336
#define COMPRESSED_SYM 337
#define COMPRESSION_SYM 338
#define ENCRYPTION_SYM 339
#define CONCURRENT 340
#define CONDITION_SYM 341
#define CONNECTION_SYM 342
#define CONSISTENT_SYM 343
#define CONSTRAINT 344
#define CONSTRAINT_CATALOG_SYM 345
#define CONSTRAINT_NAME_SYM 346
#define CONSTRAINT_SCHEMA_SYM 347
#define CONTAINS_SYM 348
#define CONTEXT_SYM 349
#define CONTINUE_SYM 350
#define CONVERT_SYM 351
#define COUNT_SYM 352
#define CPU_SYM 353
#define CREATE 354
#define CROSS 355
#define CUBE_SYM 356
#define CURDATE 357
#define CURRENT_SYM 358
#define CURRENT_USER 359
#define CURSOR_SYM 360
#define CURSOR_NAME_SYM 361
#define CURTIME 362
#define DATABASE 363
#define DATABASES 364
#define DATAFILE_SYM 365
#define DATA_SYM 366
#define DATETIME_SYM 367
#define DATE_ADD_INTERVAL 368
#define DATE_SUB_INTERVAL 369
#define DATE_SYM 370
#define DAY_HOUR_SYM 371
#define DAY_MICROSECOND_SYM 372
#define DAY_MINUTE_SYM 373
#define DAY_SECOND_SYM 374
#define DAY_SYM 375
#define DEALLOCATE_SYM 376
#define DECIMAL_NUM 377
#define DECIMAL_SYM 378
#define DECLARE_SYM 379
#define DEFAULT_SYM 380
#define DEFAULT_AUTH_SYM 381
#define DEFINER_SYM 382
#define DELAYED_SYM 383
#define DELAY_KEY_WRITE_SYM 384
#define DELETE_SYM 385
#define DESC 386
#define DESCRIBE 387
#define OBSOLETE_TOKEN_388 388
#define DETERMINISTIC_SYM 389
#define DIAGNOSTICS_SYM 390
#define DIRECTORY_SYM 391
#define DISABLE_SYM 392
#define DISCARD_SYM 393
#define DISK_SYM 394
#define DISTINCT 395
#define DIV_SYM 396
#define DOUBLE_SYM 397
#define DO_SYM 398
#define DROP 399
#define DUAL_SYM 400
#define DUMPFILE 401
#define DUPLICATE_SYM 402
#define DYNAMIC_SYM 403
#define EACH_SYM 404
#define ELSE 405
#define ELSEIF_SYM 406
#define ENABLE_SYM 407
#define ENCLOSED 408
#define END 409
#define ENDS_SYM 410
#define END_OF_INPUT 411
#define ENGINES_SYM 412
#define ENGINE_SYM 413
#define ENUM_SYM 414
#define EQ 415
#define EQUAL_SYM 416
#define ERROR_SYM 417
#define ERRORS 418
#define ESCAPED 419
#define ESCAPE_SYM 420
#define EVENTS_SYM 421
#define EVENT_SYM 422
#define EVERY_SYM 423
#define EXCHANGE_SYM 424
#define EXECUTE_SYM 425
#define EXISTS 426
#define EXIT_SYM 427
#define EXPANSION_SYM 428
#define EXPIRE_SYM 429
#define EXPORT_SYM 430
#define EXTENDED_SYM 431
#define EXTENT_SIZE_SYM 432
#define EXTRACT_SYM 433
#define FALSE_SYM 434
#define FAST_SYM 435
#define FAULTS_SYM 436
#define FETCH_SYM 437
#define FILE_SYM 438
#define FILE_BLOCK_SIZE_SYM 439
#define FILTER_SYM 440
#define FIRST_SYM 441
#define FIXED_SYM 442
#define FLOAT_NUM 443
#define FLOAT_SYM 444
#define FLUSH_SYM 445
#define FOLLOWS_SYM 446
#define FORCE_SYM 447
#define FOREIGN 448
#define FOR_SYM 449
#define FORMAT_SYM 450
#define FOUND_SYM 451
#define FROM 452
#define FULL 453
#define FULLTEXT_SYM 454
#define FUNCTION_SYM 455
#define GE 456
#define GENERAL 457
#define GENERATED 458
#define GROUP_REPLICATION 459
#define GEOMETRYCOLLECTION_SYM 460
#define GEOMETRY_SYM 461
#define GET_FORMAT 462
#define GET_SYM 463
#define GLOBAL_SYM 464
#define GRANT 465
#define GRANTS 466
#define GROUP_SYM 467
#define GROUP_CONCAT_SYM 468
#define GT_SYM 469
#define HANDLER_SYM 470
#define HASH_SYM 471
#define HAVING 472
#define HELP_SYM 473
#define HEX_NUM 474
#define HIGH_PRIORITY 475
#define HOST_SYM 476
#define HOSTS_SYM 477
#define HOUR_MICROSECOND_SYM 478
#define HOUR_MINUTE_SYM 479
#define HOUR_SECOND_SYM 480
#define HOUR_SYM 481
#define IDENT 482
#define IDENTIFIED_SYM 483
#define IDENT_QUOTED 484
#define IF 485
#define IGNORE_SYM 486
#define IGNORE_SERVER_IDS_SYM 487
#define IMPORT 488
#define INDEXES 489
#define INDEX_SYM 490
#define INFILE 491
#define INITIAL_SIZE_SYM 492
#define INNER_SYM 493
#define INOUT_SYM 494
#define INSENSITIVE_SYM 495
#define INSERT_SYM 496
#define INSERT_METHOD 497
#define INSTANCE_SYM 498
#define INSTALL_SYM 499
#define INTERVAL_SYM 500
#define INTO 501
#define INT_SYM 502
#define INVOKER_SYM 503
#define IN_SYM 504
#define IO_AFTER_GTIDS 505
#define IO_BEFORE_GTIDS 506
#define IO_SYM 507
#define IPC_SYM 508
#define IS 509
#define ISOLATION 510
#define ISSUER_SYM 511
#define ITERATE_SYM 512
#define JOIN_SYM 513
#define JSON_SEPARATOR_SYM 514
#define JSON_SYM 515
#define KEYS 516
#define KEY_BLOCK_SIZE 517
#define KEY_SYM 518
#define KILL_SYM 519
#define LANGUAGE_SYM 520
#define LAST_SYM 521
#define LE 522
#define LEADING 523
#define LEAVES 524
#define LEAVE_SYM 525
#define LEFT 526
#define LESS_SYM 527
#define LEVEL_SYM 528
#define LEX_HOSTNAME 529
#define LIKE 530
#define LIMIT 531
#define LINEAR_SYM 532
#define LINES 533
#define LINESTRING_SYM 534
#define LIST_SYM 535
#define LOAD 536
#define LOCAL_SYM 537
#define OBSOLETE_TOKEN_538 538
#define LOCKS_SYM 539
#define LOCK_SYM 540
#define LOGFILE_SYM 541
#define LOGS_SYM 542
#define LONGBLOB_SYM 543
#define LONGTEXT_SYM 544
#define LONG_NUM 545
#define LONG_SYM 546
#define LOOP_SYM 547
#define LOW_PRIORITY 548
#define LT 549
#define MASTER_AUTO_POSITION_SYM 550
#define MASTER_BIND_SYM 551
#define MASTER_CONNECT_RETRY_SYM 552
#define MASTER_DELAY_SYM 553
#define MASTER_HOST_SYM 554
#define MASTER_LOG_FILE_SYM 555
#define MASTER_LOG_POS_SYM 556
#define MASTER_PASSWORD_SYM 557
#define MASTER_PORT_SYM 558
#define MASTER_RETRY_COUNT_SYM 559
#define MASTER_SERVER_ID_SYM 560
#define MASTER_SSL_CAPATH_SYM 561
#define MASTER_TLS_VERSION_SYM 562
#define MASTER_SSL_CA_SYM 563
#define MASTER_SSL_CERT_SYM 564
#define MASTER_SSL_CIPHER_SYM 565
#define MASTER_SSL_CRL_SYM 566
#define MASTER_SSL_CRLPATH_SYM 567
#define MASTER_SSL_KEY_SYM 568
#define MASTER_SSL_SYM 569
#define MASTER_SSL_VERIFY_SERVER_CERT_SYM 570
#define MASTER_SYM 571
#define MASTER_USER_SYM 572
#define MASTER_HEARTBEAT_PERIOD_SYM 573
#define MATCH 574
#define MAX_CONNECTIONS_PER_HOUR 575
#define MAX_QUERIES_PER_HOUR 576
#define MAX_ROWS 577
#define MAX_SIZE_SYM 578
#define MAX_SYM 579
#define MAX_UPDATES_PER_HOUR 580
#define MAX_USER_CONNECTIONS_SYM 581
#define MAX_VALUE_SYM 582
#define MEDIUMBLOB_SYM 583
#define MEDIUMINT_SYM 584
#define MEDIUMTEXT_SYM 585
#define MEDIUM_SYM 586
#define MEMORY_SYM 587
#define MERGE_SYM 588
#define MESSAGE_TEXT_SYM 589
#define MICROSECOND_SYM 590
#define MIGRATE_SYM 591
#define MINUTE_MICROSECOND_SYM 592
#define MINUTE_SECOND_SYM 593
#define MINUTE_SYM 594
#define MIN_ROWS 595
#define MIN_SYM 596
#define MODE_SYM 597
#define MODIFIES_SYM 598
#define MODIFY_SYM 599
#define MOD_SYM 600
#define MONTH_SYM 601
#define MULTILINESTRING_SYM 602
#define MULTIPOINT_SYM 603
#define MULTIPOLYGON_SYM 604
#define MUTEX_SYM 605
#define MYSQL_ERRNO_SYM 606
#define NAMES_SYM 607
#define NAME_SYM 608
#define NATIONAL_SYM 609
#define NATURAL 610
#define NCHAR_STRING 611
#define NCHAR_SYM 612
#define NDBCLUSTER_SYM 613
#define NE 614
#define NEG 615
#define NEVER_SYM 616
#define NEW_SYM 617
#define NEXT_SYM 618
#define NODEGROUP_SYM 619
#define NONE_SYM 620
#define NOT2_SYM 621
#define NOT_SYM 622
#define NOW_SYM 623
#define NO_SYM 624
#define NO_WAIT_SYM 625
#define NO_WRITE_TO_BINLOG 626
#define NULL_SYM 627
#define NUM 628
#define NUMBER_SYM 629
#define NUMERIC_SYM 630
#define NVARCHAR_SYM 631
#define OFFSET_SYM 632
#define ON_SYM 633
#define ONE_SYM 634
#define ONLY_SYM 635
#define OPEN_SYM 636
#define OPTIMIZE 637
#define OPTIMIZER_COSTS_SYM 638
#define OPTIONS_SYM 639
#define OPTION 640
#define OPTIONALLY 641
#define OR2_SYM 642
#define ORDER_SYM 643
#define OR_OR_SYM 644
#define OR_SYM 645
#define OUTER_SYM 646
#define OUTFILE 647
#define OUT_SYM 648
#define OWNER_SYM 649
#define PACK_KEYS_SYM 650
#define PAGE_SYM 651
#define PARAM_MARKER 652
#define PARSER_SYM 653
#define OBSOLETE_TOKEN_654 654
#define PARTIAL 655
#define PARTITION_SYM 656
#define PARTITIONS_SYM 657
#define PARTITIONING_SYM 658
#define PASSWORD 659
#define PHASE_SYM 660
#define PLUGIN_DIR_SYM 661
#define PLUGIN_SYM 662
#define PLUGINS_SYM 663
#define POINT_SYM 664
#define POLYGON_SYM 665
#define PORT_SYM 666
#define POSITION_SYM 667
#define PRECEDES_SYM 668
#define PRECISION 669
#define PREPARE_SYM 670
#define PRESERVE_SYM 671
#define PREV_SYM 672
#define PRIMARY_SYM 673
#define PRIVILEGES 674
#define PROCEDURE_SYM 675
#define PROCESS 676
#define PROCESSLIST_SYM 677
#define PROFILE_SYM 678
#define PROFILES_SYM 679
#define PROXY_SYM 680
#define PURGE 681
#define QUARTER_SYM 682
#define QUERY_SYM 683
#define QUICK 684
#define RANGE_SYM 685
#define READS_SYM 686
#define READ_ONLY_SYM 687
#define READ_SYM 688
#define READ_WRITE_SYM 689
#define REAL_SYM 690
#define REBUILD_SYM 691
#define RECOVER_SYM 692
#define OBSOLETE_TOKEN_693 693
#define REDO_BUFFER_SIZE_SYM 694
#define REDUNDANT_SYM 695
#define REFERENCES 696
#define REGEXP 697
#define RELAY 698
#define RELAYLOG_SYM 699
#define RELAY_LOG_FILE_SYM 700
#define RELAY_LOG_POS_SYM 701
#define RELAY_THREAD 702
#define RELEASE_SYM 703
#define RELOAD 704
#define REMOVE_SYM 705
#define RENAME 706
#define REORGANIZE_SYM 707
#define REPAIR 708
#define REPEATABLE_SYM 709
#define REPEAT_SYM 710
#define REPLACE_SYM 711
#define REPLICATION 712
#define REPLICATE_DO_DB 713
#define REPLICATE_IGNORE_DB 714
#define REPLICATE_DO_TABLE 715
#define REPLICATE_IGNORE_TABLE 716
#define REPLICATE_WILD_DO_TABLE 717
#define REPLICATE_WILD_IGNORE_TABLE 718
#define REPLICATE_REWRITE_DB 719
#define REQUIRE_SYM 720
#define RESET_SYM 721
#define RESIGNAL_SYM 722
#define RESOURCES 723
#define RESTORE_SYM 724
#define RESTRICT 725
#define RESUME_SYM 726
#define RETURNED_SQLSTATE_SYM 727
#define RETURNS_SYM 728
#define RETURN_SYM 729
#define REVERSE_SYM 730
#define REVOKE 731
#define RIGHT 732
#define ROLLBACK_SYM 733
#define ROLLUP_SYM 734
#define ROTATE_SYM 735
#define ROUTINE_SYM 736
#define ROWS_SYM 737
#define ROW_FORMAT_SYM 738
#define ROW_SYM 739
#define ROW_COUNT_SYM 740
#define RTREE_SYM 741
#define SAVEPOINT_SYM 742
#define SCHEDULE_SYM 743
#define SCHEMA_NAME_SYM 744
#define SECOND_MICROSECOND_SYM 745
#define SECOND_SYM 746
#define SECURITY_SYM 747
#define SELECT_SYM 748
#define SENSITIVE_SYM 749
#define SEPARATOR_SYM 750
#define SERIALIZABLE_SYM 751
#define SERIAL_SYM 752
#define SESSION_SYM 753
#define SERVER_SYM 754
#define OBSOLETE_TOKEN_755 755
#define SET_SYM 756
#define SET_VAR 757
#define SHARE_SYM 758
#define SHIFT_LEFT 759
#define SHIFT_RIGHT 760
#define SHOW 761
#define SHUTDOWN 762
#define SIGNAL_SYM 763
#define SIGNED_SYM 764
#define SIMPLE_SYM 765
#define SLAVE 766
#define SLOW 767
#define SMALLINT_SYM 768
#define SNAPSHOT_SYM 769
#define SOCKET_SYM 770
#define SONAME_SYM 771
#define SOUNDS_SYM 772
#define SOURCE_SYM 773
#define SPATIAL_SYM 774
#define SPECIFIC_SYM 775
#define SQLEXCEPTION_SYM 776
#define SQLSTATE_SYM 777
#define SQLWARNING_SYM 778
#define SQL_AFTER_GTIDS 779
#define SQL_AFTER_MTS_GAPS 780
#define SQL_BEFORE_GTIDS 781
#define SQL_BIG_RESULT 782
#define SQL_BUFFER_RESULT 783
#define OBSOLETE_TOKEN_784 784
#define SQL_CALC_FOUND_ROWS 785
#define SQL_NO_CACHE_SYM 786
#define SQL_SMALL_RESULT 787
#define SQL_SYM 788
#define SQL_THREAD 789
#define SSL_SYM 790
#define STACKED_SYM 791
#define STARTING 792
#define STARTS_SYM 793
#define START_SYM 794
#define STATS_AUTO_RECALC_SYM 795
#define STATS_PERSISTENT_SYM 796
#define STATS_SAMPLE_PAGES_SYM 797
#define STATUS_SYM 798
#define STDDEV_SAMP_SYM 799
#define STD_SYM 800
#define STOP_SYM 801
#define STORAGE_SYM 802
#define STORED_SYM 803
#define STRAIGHT_JOIN 804
#define STRING_SYM 805
#define SUBCLASS_ORIGIN_SYM 806
#define SUBDATE_SYM 807
#define SUBJECT_SYM 808
#define SUBPARTITIONS_SYM 809
#define SUBPARTITION_SYM 810
#define SUBSTRING 811
#define SUM_SYM 812
#define SUPER_SYM 813
#define SUSPEND_SYM 814
#define SWAPS_SYM 815
#define SWITCHES_SYM 816
#define SYSDATE 817
#define TABLES 818
#define TABLESPACE_SYM 819
#define OBSOLETE_TOKEN_820 820
#define TABLE_SYM 821
#define TABLE_CHECKSUM_SYM 822
#define TABLE_NAME_SYM 823
#define TEMPORARY 824
#define TEMPTABLE_SYM 825
#define TERMINATED 826
#define TEXT_STRING 827
#define TEXT_SYM 828
#define THAN_SYM 829
#define THEN_SYM 830
#define TIMESTAMP_SYM 831
#define TIMESTAMP_ADD 832
#define TIMESTAMP_DIFF 833
#define TIME_SYM 834
#define TINYBLOB_SYM 835
#define TINYINT_SYM 836
#define TINYTEXT_SYN 837
#define TO_SYM 838
#define TRAILING 839
#define TRANSACTION_SYM 840
#define TRIGGERS_SYM 841
#define TRIGGER_SYM 842
#define TRIM 843
#define TRUE_SYM 844
#define TRUNCATE_SYM 845
#define TYPES_SYM 846
#define TYPE_SYM 847
#define OBSOLETE_TOKEN_848 848
#define ULONGLONG_NUM 849
#define UNCOMMITTED_SYM 850
#define UNDEFINED_SYM 851
#define UNDERSCORE_CHARSET 852
#define UNDOFILE_SYM 853
#define UNDO_BUFFER_SIZE_SYM 854
#define UNDO_SYM 855
#define UNICODE_SYM 856
#define UNINSTALL_SYM 857
#define UNION_SYM 858
#define UNIQUE_SYM 859
#define UNKNOWN_SYM 860
#define UNLOCK_SYM 861
#define UNSIGNED_SYM 862
#define UNTIL_SYM 863
#define UPDATE_SYM 864
#define UPGRADE_SYM 865
#define USAGE 866
#define USER 867
#define USE_FRM 868
#define USE_SYM 869
#define USING 870
#define UTC_DATE_SYM 871
#define UTC_TIMESTAMP_SYM 872
#define UTC_TIME_SYM 873
#define VALIDATION_SYM 874
#define VALUES 875
#define VALUE_SYM 876
#define VARBINARY_SYM 877
#define VARCHAR_SYM 878
#define VARIABLES 879
#define VARIANCE_SYM 880
#define VARYING 881
#define VAR_SAMP_SYM 882
#define VIEW_SYM 883
#define VIRTUAL_SYM 884
#define WAIT_SYM 885
#define WARNINGS 886
#define WEEK_SYM 887
#define WEIGHT_STRING_SYM 888
#define WHEN_SYM 889
#define WHERE 890
#define WHILE_SYM 891
#define WITH 892
#define OBSOLETE_TOKEN_893 893
#define WITH_ROLLUP_SYM 894
#define WITHOUT_SYM 895
#define WORK_SYM 896
#define WRAPPER_SYM 897
#define WRITE_SYM 898
#define X509_SYM 899
#define XA_SYM 900
#define XID_SYM 901
#define XML_SYM 902
#define XOR 903
#define YEAR_MONTH_SYM 904
#define YEAR_SYM 905
#define ZEROFILL_SYM 906
#define JSON_UNQUOTED_SEPARATOR_SYM 907
#define PERSIST_SYM 908
#define ROLE_SYM 909
#define ADMIN_SYM 910
#define INVISIBLE_SYM 911
#define VISIBLE_SYM 912
#define EXCEPT_SYM 913
#define COMPONENT_SYM 914
#define RECURSIVE_SYM 915
#define GRAMMAR_SELECTOR_EXPR 916
#define GRAMMAR_SELECTOR_GCOL 917
#define GRAMMAR_SELECTOR_PART 918
#define GRAMMAR_SELECTOR_CTE 919
#define JSON_OBJECTAGG 920
#define JSON_ARRAYAGG 921
#define OF_SYM 922
#define SKIP_SYM 923
#define LOCKED_SYM 924
#define NOWAIT_SYM 925
#define GROUPING_SYM 926
#define PERSIST_ONLY_SYM 927
#define HISTOGRAM_SYM 928
#define BUCKETS_SYM 929
#define OBSOLETE_TOKEN_930 930
#define CLONE_SYM 931
#define CUME_DIST_SYM 932
#define DENSE_RANK_SYM 933
#define EXCLUDE_SYM 934
#define FIRST_VALUE_SYM 935
#define FOLLOWING_SYM 936
#define GROUPS_SYM 937
#define LAG_SYM 938
#define LAST_VALUE_SYM 939
#define LEAD_SYM 940
#define NTH_VALUE_SYM 941
#define NTILE_SYM 942
#define NULLS_SYM 943
#define OTHERS_SYM 944
#define OVER_SYM 945
#define PERCENT_RANK_SYM 946
#define PRECEDING_SYM 947
#define RANK_SYM 948
#define RESPECT_SYM 949
#define ROW_NUMBER_SYM 950
#define TIES_SYM 951
#define UNBOUNDED_SYM 952
#define WINDOW_SYM 953
#define EMPTY_SYM 954
#define JSON_TABLE_SYM 955
#define NESTED_SYM 956
#define ORDINALITY_SYM 957
#define PATH_SYM 958
#define HISTORY_SYM 959
#define REUSE_SYM 960
#define SRID_SYM 961
#define THREAD_PRIORITY_SYM 962
#define RESOURCE_SYM 963
#define SYSTEM_SYM 964
#define VCPU_SYM 965
#define MASTER_PUBLIC_KEY_PATH_SYM 966
#define GET_MASTER_PUBLIC_KEY_SYM 967
#define RESTART_SYM 968
#define DEFINITION_SYM 969
#define DESCRIPTION_SYM 970
#define ORGANIZATION_SYM 971
#define REFERENCE_SYM 972
#define ACTIVE_SYM 973
#define INACTIVE_SYM 974
#define LATERAL_SYM 975
#define ARRAY_SYM 976
#define MEMBER_SYM 977
#define OPTIONAL_SYM 978
#define SECONDARY_SYM 979
#define SECONDARY_ENGINE_SYM 980
#define SECONDARY_LOAD_SYM 981
#define SECONDARY_UNLOAD_SYM 982
#define RETAIN_SYM 983
#define OLD_SYM 984
#define ENFORCED_SYM 985
#define OJ_SYM 986
#define NETWORK_NAMESPACE_SYM 987
#define RANDOM_SYM 988
#define MASTER_COMPRESSION_ALGORITHM_SYM 989
#define MASTER_ZSTD_COMPRESSION_LEVEL_SYM 990
#define PRIVILEGE_CHECKS_USER_SYM 991
#define CONDITIONLESS_JOIN 992
#define SUBQUERY_AS_EXPR 993
#define EMPTY_FROM_CLAUSE 994
/* Value type. */
/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
int MYSQLparse (class THD *YYTHD, class Parse_tree_root **parse_tree);
#endif /* !YY_MYSQL_EXPORT_HOME3_PB2_BUILD_SB_4_36015059_1568969063_34_DIST_GPL_SQL_SQL_YACC_H_INCLUDED */
/* Copy the second part of user declarations. */
#line 2021 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:358 */
#ifdef short
# undef short
#endif
#ifdef YYTYPE_UINT8
typedef YYTYPE_UINT8 yytype_uint8;
#else
typedef unsigned char yytype_uint8;
#endif
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
#else
typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
typedef unsigned short int yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
# elif ! defined YYSIZE_T
# include <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 YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
&& defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
yytype_int16 yyss_alloc;
YYSTYPE yyvs_alloc;
YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
+ 2 * YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (0)
#endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from SRC to DST. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 971
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 82265
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 759
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 910
/* YYNRULES -- Number of rules. */
#define YYNRULES 2941
/* YYNSTATES -- Number of states. */
#define YYNSTATES 5165
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 994
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, without out-of-bounds checking. */
static const yytype_uint16 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 756, 2, 2, 2, 744, 739, 2,
748, 749, 742, 741, 753, 740, 754, 743, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 755, 751,
2, 2, 2, 2, 752, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 745, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 757, 738, 758, 746, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 737, 747, 750
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 1951, 1951, 1952, 1957, 1967, 1985, 1992, 2005, 2004,
2029, 2036, 2038, 2042, 2043, 2048, 2049, 2050, 2051, 2052,
2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062,
2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072,
2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082,
2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092,
2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102,
2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112,
2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122,
2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132,
2133, 2134, 2135, 2136, 2137, 2138, 2142, 2152, 2153, 2157,
2177, 2184, 2195, 2194, 2205, 2207, 2211, 2212, 2216, 2229,
2228, 2248, 2247, 2261, 2260, 2275, 2276, 2279, 2286, 2293,
2300, 2307, 2314, 2322, 2331, 2337, 2344, 2351, 2359, 2368,
2374, 2380, 2388, 2396, 2402, 2409, 2416, 2424, 2436, 2442,
2449, 2456, 2464, 2474, 2475, 2479, 2483, 2487, 2491, 2495,
2505, 2509, 2513, 2518, 2529, 2534, 2538, 2542, 2546, 2550,
2554, 2558, 2563, 2567, 2571, 2575, 2581, 2615, 2619, 2623,
2627, 2633, 2634, 2637, 2639, 2640, 2644, 2650, 2656, 2665,
2669, 2685, 2689, 2700, 2704, 2719, 2729, 2739, 2744, 2752,
2759, 2772, 2771, 2786, 2788, 2800, 2820, 2839, 2859, 2876,
2881, 2890, 2895, 2907, 2919, 2933, 2949, 2953, 2960, 2969,
2977, 2988, 2989, 2993, 2997, 3001, 3005, 3009, 3014, 3018,
3026, 3025, 3057, 3056, 3065, 3074, 3075, 3081, 3087, 3097,
3103, 3111, 3113, 3122, 3123, 3127, 3133, 3142, 3143, 3151,
3151, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217,
3218, 3219, 3220, 3221, 3225, 3239, 3258, 3259, 3263, 3264,
3269, 3271, 3273, 3275, 3277, 3279, 3281, 3287, 3288, 3289,
3293, 3297, 3304, 3311, 3312, 3319, 3321, 3325, 3326, 3330,
3381, 3383, 3387, 3388, 3392, 3442, 3443, 3444, 3445, 3449,
3450, 3454, 3455, 3460, 3463, 3487, 3586, 3604, 3603, 3682,
3678, 3754, 3755, 3760, 3762, 3767, 3790, 3801, 3805, 3827,
3828, 3832, 3836, 3849, 3855, 3861, 3870, 3883, 3909, 3915,
3916, 3922, 3923, 3928, 3934, 3947, 3949, 3969, 3975, 3977,
3979, 3981, 3983, 3985, 3987, 3989, 3991, 3993, 3995, 3997,
4002, 4016, 4033, 4034, 4036, 4041, 4047, 4056, 4062, 4071,
4079, 4107, 4115, 4117, 4126, 4131, 4137, 4146, 4154, 4156,
4158, 4160, 4162, 4164, 4166, 4168, 4170, 4172, 4174, 4176,
4178, 4183, 4203, 4227, 4231, 4239, 4240, 4241, 4242, 4243,
4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4256, 4255,
4266, 4266, 4326, 4325, 4382, 4382, 4404, 4461, 4508, 4532,
4531, 4556, 4578, 4580, 4581, 4585, 4603, 4624, 4632, 4670,
4624, 4698, 4700, 4701, 4705, 4706, 4711, 4721, 4710, 4773,
4772, 4786, 4787, 4791, 4792, 4797, 4805, 4796, 4855, 4863,
4854, 4909, 4922, 4927, 4926, 4964, 4965, 4970, 4969, 5003,
5003, 5022, 5021, 5069, 5084, 5092, 5083, 5150, 5158, 5147,
5200, 5202, 5207, 5209, 5211, 5226, 5227, 5234, 5235, 5242,
5243, 5247, 5253, 5262, 5263, 5264, 5265, 5266, 5267, 5268,
5269, 5270, 5271, 5275, 5276, 5280, 5286, 5295, 5296, 5297,
5298, 5299, 5300, 5304, 5305, 5309, 5315, 5324, 5328, 5329,
5333, 5339, 5348, 5349, 5350, 5351, 5352, 5353, 5354, 5358,
5359, 5363, 5369, 5378, 5379, 5380, 5384, 5388, 5389, 5393,
5397, 5404, 5411, 5418, 5425, 5432, 5439, 5446, 5453, 5460,
5467, 5471, 5478, 5485, 5486, 5561, 5567, 5571, 5576, 5581,
5587, 5595, 5605, 5606, 5620, 5628, 5632, 5636, 5640, 5644,
5648, 5655, 5656, 5661, 5662, 5680, 5681, 5693, 5694, 5699,
5708, 5709, 5714, 5720, 5730, 5731, 5743, 5744, 5748, 5754,
5763, 5772, 5775, 5780, 5788, 5789, 5793, 5797, 5804, 5811,
5821, 5820, 5838, 5844, 5853, 5854, 5859, 5860, 5864, 5870,
5879, 5886, 5887, 5891, 5897, 5906, 5908, 5910, 5912, 5914,
5916, 5918, 5920, 5929, 5930, 5934, 5935, 5939, 5944, 5949,
5964, 5965, 5969, 5975, 5984, 5990, 5998, 6000, 6004, 6008,
6012, 6016, 6020, 6024, 6028, 6032, 6036, 6040, 6044, 6048,
6052, 6056, 6060, 6077, 6081, 6085, 6089, 6093, 6097, 6101,
6105, 6109, 6113, 6117, 6121, 6125, 6129, 6133, 6137, 6144,
6158, 6162, 6166, 6170, 6174, 6175, 6176, 6177, 6178, 6179,
6183, 6184, 6185, 6189, 6190, 6191, 6192, 6196, 6202, 6211,
6212, 6216, 6223, 6224, 6232, 6238, 6244, 6249, 6259, 6267,
6275, 6279, 6280, 6284, 6285, 6289, 6290, 6294, 6298, 6302,
6323, 6325, 6329, 6330, 6331, 6335, 6339, 6343, 6347, 6351,
6355, 6359, 6363, 6368, 6373, 6382, 6391, 6395, 6399, 6404,
6413, 6417, 6433, 6437, 6441, 6445, 6449, 6453, 6457, 6458,
6462, 6466, 6470, 6475, 6480, 6485, 6490, 6495, 6499, 6503,
6508, 6512, 6519, 6521, 6523, 6525, 6527, 6529, 6531, 6533,
6538, 6539, 6543, 6544, 6548, 6549, 6550, 6551, 6552, 6556,
6557, 6558, 6559, 6560, 6564, 6569, 6573, 6575, 6579, 6580,
6581, 6582, 6587, 6591, 6600, 6604, 6609, 6613, 6622, 6623,
6627, 6628, 6629, 6637, 6638, 6642, 6646, 6650, 6651, 6652,
6661, 6662, 6663, 6664, 6667, 6668, 6673, 6677, 6681, 6682,
6686, 6705, 6724, 6728, 6732, 6736, 6740, 6744, 6748, 6752,
6756, 6760, 6764, 6768, 6772, 6776, 6780, 6784, 6793, 6798,
6814, 6815, 6816, 6820, 6821, 6822, 6826, 6832, 6836, 6840,
6841, 6845, 6854, 6858, 6859, 6863, 6872, 6876, 6877, 6881,
6887, 6891, 6892, 6896, 6897, 6902, 6903, 6907, 6914, 6922,
6928, 6938, 6942, 6947, 6952, 6957, 6964, 6970, 6981, 6982,
6990, 6989, 7001, 7003, 7007, 7022, 7023, 7027, 7034, 7044,
7045, 7046, 7047, 7052, 7056, 7061, 7066, 7072, 7081, 7082,
7083, 7084, 7085, 7089, 7090, 7094, 7095, 7099, 7100, 7104,
7105, 7106, 7110, 7111, 7115, 7116, 7120, 7126, 7135, 7136,
7150, 7151, 7155, 7161, 7170, 7174, 7175, 7179, 7185, 7194,
7195, 7200, 7201, 7205, 7229, 7230, 7231, 7235, 7236, 7240,
7241, 7245, 7246, 7250, 7251, 7252, 7256, 7262, 7272, 7278,
7293, 7299, 7309, 7310, 7319, 7320, 7324, 7325, 7329, 7335,
7347, 7357, 7371, 7370, 7391, 7390, 7412, 7411, 7433, 7432,
7451, 7445, 7468, 7467, 7503, 7525, 7544, 7564, 7572, 7594,
7618, 7629, 7631, 7646, 7660, 7666, 7678, 7690, 7704, 7705,
7709, 7719, 7728, 7729, 7733, 7734, 7738, 7744, 7750, 7758,
7773, 7781, 7789, 7796, 7803, 7810, 7817, 7823, 7829, 7838,
7839, 7843, 7844, 7848, 7854, 7860, 7866, 7875, 7889, 7890,
7891, 7892, 7896, 7897, 7909, 7910, 7914, 7915, 7919, 7920,
7935, 7940, 7948, 7952, 7960, 7964, 7969, 7970, 7979, 7983,
7994, 7998, 8002, 8006, 8010, 8015, 8020, 8025, 8030, 8037,
8041, 8045, 8049, 8054, 8059, 8064, 8069, 8073, 8080, 8081,
8085, 8089, 8096, 8097, 8105, 8112, 8117, 8121, 8126, 8137,
8138, 8146, 8150, 8154, 8158, 8162, 8166, 8171, 8175, 8179,
8183, 8187, 8191, 8195, 8199, 8203, 8207, 8211, 8215, 8219,
8223, 8227, 8231, 8237, 8241, 8248, 8253, 8258, 8266, 8267,
8272, 8277, 8283, 8292, 8296, 8300, 8317, 8321, 8325, 8341,
8343, 8347, 8348, 8352, 8353, 8354, 8358, 8359, 8360, 8364,
8365, 8366, 8367, 8371, 8376, 8384, 8385, 8395, 8411, 8409,
8431, 8448, 8451, 8458, 8462, 8469, 8473, 8477, 8484, 8489,
8492, 8499, 8502, 8509, 8512, 8519, 8522, 8530, 8533, 8540,
8544, 8551, 8555, 8563, 8567, 8592, 8593, 8594, 8599, 8604,
8611, 8625, 8626, 8627, 8631, 8640, 8641, 8645, 8646, 8654,
8655, 8656, 8660, 8670, 8671, 8690, 8695, 8702, 8712, 8720,
8728, 8729, 8733, 8734, 8742, 8744, 8746, 8748, 8750, 8752,
8757, 8764, 8765, 8766, 8771, 8770, 8776, 8783, 8788, 8796,
8797, 8801, 8814, 8818, 8827, 8833, 8842, 8849, 8850, 8854,
8859, 8866, 8872, 8881, 8888, 8895, 8896, 8906, 8907, 8911,
8915, 8921, 8957, 8961, 9006, 9013, 9021, 9030, 9040, 9048,
9057, 9068, 9072, 9076, 9083, 9097, 9113, 9114, 9118, 9126,
9147, 9170, 9171, 9175, 9179, 9180, 9184, 9190, 9200, 9203,
9207, 9212, 9216, 9220, 9229, 9230, 9234, 9240, 9249, 9253,
9257, 9264, 9265, 9269, 9273, 9274, 9278, 9279, 9283, 9289,
9295, 9305, 9306, 9314, 9315, 9316, 9317, 9318, 9322, 9323,
9328, 9334, 9339, 9345, 9349, 9353, 9357, 9361, 9365, 9369,
9373, 9377, 9381, 9385, 9389, 9402, 9406, 9410, 9415, 9419,
9426, 9430, 9437, 9441, 9445, 9449, 9457, 9461, 9465, 9470,
9475, 9483, 9491, 9495, 9496, 9500, 9504, 9508, 9512, 9516,
9520, 9524, 9528, 9532, 9536, 9540, 9544, 9548, 9552, 9556,
9560, 9561, 9565, 9566, 9573, 9574, 9578, 9579, 9583, 9584,
9585, 9586, 9587, 9588, 9589, 9593, 9594, 9598, 9599, 9600,
9601, 9602, 9603, 9607, 9608, 9609, 9610, 9611, 9612, 9616,
9620, 9624, 9628, 9632, 9636, 9637, 9641, 9645, 9649, 9653,
9657, 9661, 9665, 9669, 9673, 9677, 9681, 9685, 9690, 9697,
9708, 9709, 9719, 9723, 9727, 9731, 9735, 9739, 9743, 9747,
9751, 9755, 9759, 9763, 9767, 9771, 9775, 9779, 9783, 9787,
9792, 9797, 9802, 9806, 9810, 9814, 9818, 9823, 9827, 9846,
9850, 9854, 9858, 9862, 9867, 9872, 9876, 9880, 9885, 9889,
9893, 9897, 9901, 9905, 9909, 9913, 9918, 9922, 9926, 9930,
9934, 9946, 9950, 9954, 9958, 9962, 9966, 9970, 9974, 9978,
9982, 9986, 9990, 9994, 9998, 10002, 10006, 10010, 10014, 10018,
10022, 10026, 10030, 10034, 10038, 10044, 10050, 10056, 10062, 10068,
10072, 10090, 10094, 10101, 10103, 10116, 10117, 10121, 10122, 10126,
10127, 10131, 10137, 10146, 10153, 10154, 10158, 10162, 10166, 10170,
10174, 10178, 10182, 10186, 10190, 10194, 10198, 10207, 10211, 10215,
10219, 10223, 10227, 10231, 10235, 10239, 10243, 10253, 10257, 10261,
10265, 10269, 10273, 10277, 10288, 10299, 10303, 10307, 10320, 10324,
10329, 10338, 10341, 10349, 10352, 10356, 10365, 10368, 10372, 10380,
10383, 10390, 10397, 10401, 10408, 10415, 10422, 10443, 10446, 10454,
10457, 10465, 10468, 10476, 10479, 10488, 10493, 10500, 10504, 10508,
10512, 10516, 10523, 10530, 10534, 10538, 10542, 10546, 10554, 10557,
10561, 10565, 10569, 10575, 10576, 10577, 10581, 10588, 10592, 10599,
10603, 10610, 10611, 10616, 10621, 10625, 10626, 10630, 10635, 10645,
10652, 10659, 10678, 10686, 10693, 10700, 10707, 10714, 10721, 10728,
10735, 10742, 10749, 10757, 10767, 10768, 10772, 10778, 10787, 10788,
10792, 10798, 10807, 10808, 10812, 10813, 10817, 10825, 10834, 10835,
10836, 10849, 10850, 10931, 10935, 10940, 10944, 10948, 10958, 10965,
10966, 10967, 10971, 10972, 10973, 10974, 10977, 10978, 10981, 10983,
10986, 10988, 10996, 10997, 11001, 11030, 11031, 11032, 11033, 11035,
11037, 11041, 11042, 11051, 11052, 11056, 11063, 11064, 11068, 11081,
11092, 11108, 11115, 11121, 11130, 11134, 11143, 11150, 11153, 11161,
11168, 11176, 11184, 11192, 11203, 11206, 11209, 11214, 11219, 11228,
11231, 11232, 11233, 11237, 11238, 11242, 11248, 11257, 11258, 11266,
11267, 11271, 11276, 11282, 11286, 11292, 11301, 11307, 11315, 11319,
11328, 11340, 11341, 11342, 11343, 11344, 11345, 11346, 11347, 11348,
11349, 11350, 11351, 11355, 11356, 11357, 11358, 11359, 11360, 11361,
11362, 11363, 11367, 11368, 11369, 11370, 11373, 11375, 11379, 11380,
11383, 11385, 11389, 11390, 11394, 11398, 11399, 11406, 11410, 11417,
11422, 11431, 11448, 11456, 11463, 11469, 11479, 11482, 11489, 11495,
11504, 11518, 11519, 11526, 11531, 11542, 11543, 11558, 11563, 11573,
11580, 11581, 11585, 11592, 11597, 11607, 11608, 11612, 11613, 11617,
11618, 11622, 11629, 11635, 11641, 11650, 11654, 11658, 11662, 11666,
11673, 11674, 11678, 11679, 11680, 11681, 11682, 11683, 11687, 11688,
11689, 11690, 11691, 11695, 11696, 11697, 11698, 11699, 11703, 11704,
11705, 11706, 11707, 11711, 11716, 11717, 11721, 11727, 11736, 11740,
11747, 11754, 11760, 11764, 11772, 11783, 11793, 11809, 11818, 11828,
11851, 11886, 11893, 11908, 11918, 11933, 11942, 11953, 11973, 11995,
12018, 12026, 12033, 12040, 12046, 12055, 12061, 12070, 12071, 12075,
12076, 12080, 12081, 12085, 12091, 12100, 12101, 12108, 12122, 12140,
12157, 12169, 12185, 12200, 12201, 12202, 12211, 12215, 12216, 12227,
12229, 12233, 12238, 12243, 12251, 12256, 12261, 12269, 12275, 12284,
12291, 12292, 12296, 12297, 12301, 12306, 12316, 12317, 12320, 12322,
12326, 12331, 12336, 12340, 12346, 12355, 12356, 12364, 12368, 12377,
12394, 12395, 12399, 12406, 12418, 12426, 12427, 12433, 12446, 12456,
12469, 12471, 12475, 12476, 12480, 12481, 12482, 12486, 12492, 12494,
12497, 12499, 12502, 12503, 12506, 12510, 12514, 12518, 12522, 12526,
12530, 12534, 12538, 12546, 12549, 12563, 12562, 12573, 12582, 12588,
12600, 12611, 12622, 12637, 12644, 12652, 12654, 12677, 12681, 12686,
12685, 12696, 12695, 12705, 12723, 12730, 12738, 12746, 12754, 12762,
12770, 12780, 12802, 12807, 12829, 12838, 12847, 12853, 12858, 12863,
12868, 12874, 12883, 12891, 12895, 12899, 12906, 12913, 12919, 12929,
12939, 12944, 12949, 12954, 12963, 12965, 12967, 12972, 12973, 12976,
12978, 12982, 12983, 12987, 12988, 12992, 12993, 12997, 12998, 12999,
13000, 13004, 13005, 13009, 13010, 13014, 13015, 13019, 13020, 13021,
13026, 13033, 13040, 13041, 13042, 13043, 13044, 13045, 13052, 13053,
13058, 13061, 13075, 13082, 13083, 13088, 13096, 13095, 13108, 13107,
13121, 13125, 13126, 13139, 13138, 13161, 13162, 13167, 13169, 13171,
13173, 13175, 13177, 13179, 13181, 13183, 13185, 13187, 13189, 13194,
13195, 13200, 13199, 13206, 13216, 13217, 13222, 13227, 13236, 13236,
13239, 13238, 13258, 13259, 13263, 13264, 13279, 13278, 13289, 13293,
13297, 13311, 13323, 13324, 13325, 13331, 13342, 13381, 13382, 13386,
13387, 13391, 13392, 13393, 13397, 13398, 13402, 13403, 13407, 13408,
13412, 13417, 13421, 13426, 13432, 13437, 13445, 13446, 13450, 13455,
13459, 13464, 13472, 13473, 13477, 13478, 13482, 13483, 13487, 13488,
13489, 13493, 13499, 13508, 13509, 13516, 13517, 13521, 13529, 13549,
13570, 13575, 13581, 13586, 13594, 13601, 13608, 13618, 13637, 13638,
13639, 13650, 13651, 13652, 13653, 13665, 13669, 13673, 13677, 13681,
13685, 13692, 13696, 13700, 13704, 13708, 13716, 13720, 13724, 13738,
13739, 13743, 13747, 13756, 13763, 13770, 13774, 13778, 13782, 13786,
13790, 13799, 13805, 13818, 13824, 13835, 13836, 13866, 13879, 13892,
13908, 13924, 13941, 13945, 13946, 13953, 13969, 13970, 13981, 13982,
13992, 13993, 14004, 14005, 14015, 14016, 14017, 14021, 14022, 14023,
14027, 14032, 14040, 14044, 14058, 14063, 14071, 14095, 14096, 14097,
14098, 14099, 14106, 14107, 14108, 14115, 14116, 14117, 14118, 14119,
14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127, 14128, 14129,
14130, 14131, 14132, 14133, 14134, 14135, 14136, 14137, 14138, 14139,
14140, 14141, 14142, 14143, 14144, 14145, 14146, 14147, 14148, 14149,
14164, 14165, 14166, 14173, 14174, 14175, 14176, 14177, 14178, 14179,
14180, 14181, 14189, 14190, 14191, 14192, 14193, 14194, 14195, 14196,
14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205, 14206,
14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215, 14216,
14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225, 14226,
14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235, 14236,
14237, 14238, 14239, 14240, 14241, 14242, 14243, 14244, 14245, 14246,
14247, 14248, 14249, 14250, 14251, 14252, 14253, 14254, 14255, 14256,
14257, 14258, 14259, 14260, 14261, 14262, 14263, 14264, 14265, 14266,
14267, 14268, 14269, 14270, 14271, 14272, 14273, 14274, 14275, 14276,
14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285, 14286,
14287, 14288, 14289, 14290, 14291, 14292, 14293, 14294, 14295, 14296,
14297, 14298, 14299, 14300, 14301, 14302, 14303, 14304, 14305, 14306,
14307, 14308, 14309, 14310, 14311, 14312, 14313, 14314, 14315, 14316,
14317, 14318, 14319, 14320, 14321, 14322, 14323, 14324, 14325, 14326,
14327, 14328, 14329, 14330, 14331, 14332, 14333, 14334, 14335, 14336,
14337, 14338, 14339, 14340, 14341, 14342, 14343, 14344, 14345, 14346,
14347, 14348, 14349, 14350, 14351, 14352, 14353, 14354, 14355, 14356,
14357, 14358, 14359, 14360, 14361, 14362, 14363, 14364, 14365, 14366,
14367, 14368, 14369, 14370, 14371, 14372, 14373, 14374, 14375, 14376,
14377, 14378, 14379, 14380, 14381, 14382, 14383, 14384, 14385, 14386,
14387, 14388, 14389, 14390, 14391, 14392, 14393, 14394, 14395, 14396,
14397, 14398, 14399, 14400, 14401, 14402, 14403, 14404, 14405, 14406,
14407, 14408, 14409, 14410, 14411, 14412, 14413, 14414, 14415, 14416,
14417, 14418, 14419, 14420, 14421, 14422, 14423, 14424, 14425, 14426,
14427, 14428, 14429, 14430, 14431, 14432, 14433, 14434, 14435, 14436,
14437, 14438, 14439, 14440, 14441, 14442, 14443, 14444, 14445, 14446,
14447, 14448, 14449, 14450, 14451, 14452, 14453, 14454, 14455, 14456,
14457, 14458, 14459, 14460, 14461, 14462, 14463, 14464, 14465, 14466,
14467, 14468, 14469, 14470, 14471, 14472, 14473, 14474, 14475, 14476,
14477, 14478, 14479, 14480, 14481, 14482, 14483, 14484, 14485, 14486,
14487, 14488, 14489, 14490, 14491, 14492, 14493, 14494, 14495, 14496,
14497, 14498, 14499, 14500, 14501, 14502, 14503, 14504, 14505, 14506,
14507, 14508, 14509, 14510, 14511, 14512, 14513, 14514, 14515, 14516,
14517, 14518, 14519, 14520, 14521, 14522, 14523, 14524, 14525, 14526,
14527, 14528, 14529, 14530, 14531, 14532, 14533, 14534, 14535, 14536,
14537, 14538, 14539, 14540, 14541, 14542, 14543, 14544, 14545, 14546,
14547, 14548, 14549, 14550, 14551, 14552, 14553, 14554, 14555, 14567,
14568, 14569, 14581, 14582, 14583, 14584, 14593, 14594, 14595, 14596,
14597, 14608, 14617, 14621, 14625, 14629, 14636, 14644, 14652, 14664,
14668, 14673, 14678, 14683, 14688, 14693, 14701, 14702, 14706, 14710,
14717, 14723, 14732, 14737, 14744, 14754, 14755, 14760, 14764, 14772,
14776, 14780, 14781, 14782, 14783, 14784, 14788, 14789, 14790, 14791,
14795, 14796, 14797, 14798, 14802, 14803, 14804, 14805, 14806, 14807,
14812, 14820, 14826, 14830, 14835, 14839, 14846, 14850, 14857, 14861,
14865, 14872, 14876, 14883, 14890, 14891, 14895, 14902, 14903, 14907,
14908, 14912, 14913, 14914, 14915, 14919, 14920, 14921, 14925, 14929,
14933, 14937, 14947, 14946, 14959, 14969, 14970, 14974, 14975, 14979,
15007, 15008, 15009, 15014, 15019, 15018, 15031, 15042, 15050, 15057,
15064, 15080, 15092, 15111, 15115, 15119, 15128, 15139, 15155, 15156,
15160, 15161, 15162, 15163, 15167, 15168, 15169, 15170, 15171, 15177,
15182, 15198, 15197, 15216, 15221, 15232, 15237, 15254, 15253, 15270,
15283, 15284, 15285, 15286, 15289, 15291, 15295, 15301, 15310, 15317,
15319, 15321, 15323, 15325, 15327, 15329, 15331, 15333, 15335, 15337,
15339, 15341, 15343, 15345, 15347, 15349, 15354, 15356, 15370, 15372,
15374, 15376, 15378, 15380, 15382, 15384, 15386, 15388, 15390, 15392,
15394, 15396, 15401, 15402, 15405, 15407, 15411, 15412, 15416, 15426,
15436, 15449, 15463, 15475, 15487, 15499, 15519, 15525, 15534, 15540,
15549, 15550, 15554, 15555, 15558, 15569, 15580, 15591, 15604, 15618,
15630, 15641, 15655, 15673, 15684, 15695, 15709, 15720, 15734, 15749,
15762, 15773, 15778, 15786, 15791, 15799, 15800, 15804, 15810, 15818,
15820, 15824, 15828, 15832, 15839, 15840, 15845, 15846, 15850, 15851,
15855, 15860, 15862, 15867, 15868, 15876, 15875, 15885, 15886, 15891,
15892, 15893, 15898, 15899, 15900, 15904, 15905, 15909, 15921, 15930,
15940, 15949, 15963, 15964, 15965, 15969, 15973, 15977, 15990, 15991,
15992, 15993, 15994, 15995, 15996, 16002, 16013, 16022, 16024, 16026,
16031, 16032, 16033, 16034, 16035, 16039, 16040, 16041, 16042, 16043,
16044, 16054, 16055, 16060, 16073, 16086, 16088, 16090, 16095, 16100,
16102, 16104, 16110, 16111, 16113, 16119, 16118, 16158, 16209, 16210,
16211, 16212, 16222, 16224, 16230, 16235, 16253, 16243, 16320, 16338,
16362, 16386, 16392, 16433, 16359, 16500, 16520, 16525, 16533, 16498,
16554, 16559, 16564, 16569, 16574, 16579, 16587, 16588, 16591, 16600,
16610, 16628, 16629, 16633, 16634, 16635, 16639, 16640, 16645, 16646,
16648, 16653, 16659, 16668, 16674, 16683, 16689, 16698, 16715, 16724,
16747, 16751, 16759, 16762, 16766, 16773, 16774, 16779, 16785, 16789,
16796, 16806, 16813, 16826, 16827, 16831, 16832, 16840, 16841, 16846,
16854, 16855
};
#endif
#if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
"$end", "error", "$undefined", "ABORT_SYM", "ACCESSIBLE_SYM",
"ACCOUNT_SYM", "ACTION", "ADD", "ADDDATE_SYM", "AFTER_SYM", "AGAINST",
"AGGREGATE_SYM", "ALGORITHM_SYM", "ALL", "ALTER", "ALWAYS_SYM",
"OBSOLETE_TOKEN_271", "ANALYZE_SYM", "AND_AND_SYM", "AND_SYM", "ANY_SYM",
"AS", "ASC", "ASCII_SYM", "ASENSITIVE_SYM", "AT_SYM",
"AUTOEXTEND_SIZE_SYM", "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM",
"BACKUP_SYM", "BEFORE_SYM", "BEGIN_SYM", "BETWEEN_SYM", "BIGINT_SYM",
"BINARY_SYM", "BINLOG_SYM", "BIN_NUM", "BIT_AND_SYM", "BIT_OR_SYM",
"BIT_SYM", "BIT_XOR_SYM", "BLOB_SYM", "BLOCK_SYM", "BOOLEAN_SYM",
"BOOL_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CACHE_SYM",
"CALL_SYM", "CASCADE", "CASCADED", "CASE_SYM", "CAST_SYM",
"CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGE", "CHANGED", "CHANNEL_SYM",
"CHARSET", "CHAR_SYM", "CHECKSUM_SYM", "CHECK_SYM", "CIPHER_SYM",
"CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLOSE_SYM", "COALESCE", "CODE_SYM",
"COLLATE_SYM", "COLLATION_SYM", "COLUMNS", "COLUMN_SYM",
"COLUMN_FORMAT_SYM", "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM",
"COMMIT_SYM", "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM",
"COMPRESSION_SYM", "ENCRYPTION_SYM", "CONCURRENT", "CONDITION_SYM",
"CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT",
"CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM",
"CONTAINS_SYM", "CONTEXT_SYM", "CONTINUE_SYM", "CONVERT_SYM",
"COUNT_SYM", "CPU_SYM", "CREATE", "CROSS", "CUBE_SYM", "CURDATE",
"CURRENT_SYM", "CURRENT_USER", "CURSOR_SYM", "CURSOR_NAME_SYM",
"CURTIME", "DATABASE", "DATABASES", "DATAFILE_SYM", "DATA_SYM",
"DATETIME_SYM", "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM",
"DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM",
"DAY_SECOND_SYM", "DAY_SYM", "DEALLOCATE_SYM", "DECIMAL_NUM",
"DECIMAL_SYM", "DECLARE_SYM", "DEFAULT_SYM", "DEFAULT_AUTH_SYM",
"DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DELETE_SYM",
"DESC", "DESCRIBE", "OBSOLETE_TOKEN_388", "DETERMINISTIC_SYM",
"DIAGNOSTICS_SYM", "DIRECTORY_SYM", "DISABLE_SYM", "DISCARD_SYM",
"DISK_SYM", "DISTINCT", "DIV_SYM", "DOUBLE_SYM", "DO_SYM", "DROP",
"DUAL_SYM", "DUMPFILE", "DUPLICATE_SYM", "DYNAMIC_SYM", "EACH_SYM",
"ELSE", "ELSEIF_SYM", "ENABLE_SYM", "ENCLOSED", "END", "ENDS_SYM",
"END_OF_INPUT", "ENGINES_SYM", "ENGINE_SYM", "ENUM_SYM", "EQ",
"EQUAL_SYM", "ERROR_SYM", "ERRORS", "ESCAPED", "ESCAPE_SYM",
"EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXCHANGE_SYM", "EXECUTE_SYM",
"EXISTS", "EXIT_SYM", "EXPANSION_SYM", "EXPIRE_SYM", "EXPORT_SYM",
"EXTENDED_SYM", "EXTENT_SIZE_SYM", "EXTRACT_SYM", "FALSE_SYM",
"FAST_SYM", "FAULTS_SYM", "FETCH_SYM", "FILE_SYM", "FILE_BLOCK_SIZE_SYM",
"FILTER_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM", "FLOAT_SYM",
"FLUSH_SYM", "FOLLOWS_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM",
"FORMAT_SYM", "FOUND_SYM", "FROM", "FULL", "FULLTEXT_SYM",
"FUNCTION_SYM", "GE", "GENERAL", "GENERATED", "GROUP_REPLICATION",
"GEOMETRYCOLLECTION_SYM", "GEOMETRY_SYM", "GET_FORMAT", "GET_SYM",
"GLOBAL_SYM", "GRANT", "GRANTS", "GROUP_SYM", "GROUP_CONCAT_SYM",
"GT_SYM", "HANDLER_SYM", "HASH_SYM", "HAVING", "HELP_SYM", "HEX_NUM",
"HIGH_PRIORITY", "HOST_SYM", "HOSTS_SYM", "HOUR_MICROSECOND_SYM",
"HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM", "IDENT",
"IDENTIFIED_SYM", "IDENT_QUOTED", "IF", "IGNORE_SYM",
"IGNORE_SERVER_IDS_SYM", "IMPORT", "INDEXES", "INDEX_SYM", "INFILE",
"INITIAL_SIZE_SYM", "INNER_SYM", "INOUT_SYM", "INSENSITIVE_SYM",
"INSERT_SYM", "INSERT_METHOD", "INSTANCE_SYM", "INSTALL_SYM",
"INTERVAL_SYM", "INTO", "INT_SYM", "INVOKER_SYM", "IN_SYM",
"IO_AFTER_GTIDS", "IO_BEFORE_GTIDS", "IO_SYM", "IPC_SYM", "IS",
"ISOLATION", "ISSUER_SYM", "ITERATE_SYM", "JOIN_SYM",
"JSON_SEPARATOR_SYM", "JSON_SYM", "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM",
"KILL_SYM", "LANGUAGE_SYM", "LAST_SYM", "LE", "LEADING", "LEAVES",
"LEAVE_SYM", "LEFT", "LESS_SYM", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE",
"LIMIT", "LINEAR_SYM", "LINES", "LINESTRING_SYM", "LIST_SYM", "LOAD",
"LOCAL_SYM", "OBSOLETE_TOKEN_538", "LOCKS_SYM", "LOCK_SYM",
"LOGFILE_SYM", "LOGS_SYM", "LONGBLOB_SYM", "LONGTEXT_SYM", "LONG_NUM",
"LONG_SYM", "LOOP_SYM", "LOW_PRIORITY", "LT", "MASTER_AUTO_POSITION_SYM",
"MASTER_BIND_SYM", "MASTER_CONNECT_RETRY_SYM", "MASTER_DELAY_SYM",
"MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM",
"MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_RETRY_COUNT_SYM",
"MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM",
"MASTER_TLS_VERSION_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CERT_SYM",
"MASTER_SSL_CIPHER_SYM", "MASTER_SSL_CRL_SYM", "MASTER_SSL_CRLPATH_SYM",
"MASTER_SSL_KEY_SYM", "MASTER_SSL_SYM",
"MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MASTER_SYM", "MASTER_USER_SYM",
"MASTER_HEARTBEAT_PERIOD_SYM", "MATCH", "MAX_CONNECTIONS_PER_HOUR",
"MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE_SYM", "MAX_SYM",
"MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS_SYM", "MAX_VALUE_SYM",
"MEDIUMBLOB_SYM", "MEDIUMINT_SYM", "MEDIUMTEXT_SYM", "MEDIUM_SYM",
"MEMORY_SYM", "MERGE_SYM", "MESSAGE_TEXT_SYM", "MICROSECOND_SYM",
"MIGRATE_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM",
"MINUTE_SYM", "MIN_ROWS", "MIN_SYM", "MODE_SYM", "MODIFIES_SYM",
"MODIFY_SYM", "MOD_SYM", "MONTH_SYM", "MULTILINESTRING_SYM",
"MULTIPOINT_SYM", "MULTIPOLYGON_SYM", "MUTEX_SYM", "MYSQL_ERRNO_SYM",
"NAMES_SYM", "NAME_SYM", "NATIONAL_SYM", "NATURAL", "NCHAR_STRING",
"NCHAR_SYM", "NDBCLUSTER_SYM", "NE", "NEG", "NEVER_SYM", "NEW_SYM",
"NEXT_SYM", "NODEGROUP_SYM", "NONE_SYM", "NOT2_SYM", "NOT_SYM",
"NOW_SYM", "NO_SYM", "NO_WAIT_SYM", "NO_WRITE_TO_BINLOG", "NULL_SYM",
"NUM", "NUMBER_SYM", "NUMERIC_SYM", "NVARCHAR_SYM", "OFFSET_SYM",
"ON_SYM", "ONE_SYM", "ONLY_SYM", "OPEN_SYM", "OPTIMIZE",
"OPTIMIZER_COSTS_SYM", "OPTIONS_SYM", "OPTION", "OPTIONALLY", "OR2_SYM",
"ORDER_SYM", "OR_OR_SYM", "OR_SYM", "OUTER_SYM", "OUTFILE", "OUT_SYM",
"OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM", "PARAM_MARKER", "PARSER_SYM",
"OBSOLETE_TOKEN_654", "PARTIAL", "PARTITION_SYM", "PARTITIONS_SYM",
"PARTITIONING_SYM", "PASSWORD", "PHASE_SYM", "PLUGIN_DIR_SYM",
"PLUGIN_SYM", "PLUGINS_SYM", "POINT_SYM", "POLYGON_SYM", "PORT_SYM",
"POSITION_SYM", "PRECEDES_SYM", "PRECISION", "PREPARE_SYM",
"PRESERVE_SYM", "PREV_SYM", "PRIMARY_SYM", "PRIVILEGES", "PROCEDURE_SYM",
"PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM", "PROFILES_SYM", "PROXY_SYM",
"PURGE", "QUARTER_SYM", "QUERY_SYM", "QUICK", "RANGE_SYM", "READS_SYM",
"READ_ONLY_SYM", "READ_SYM", "READ_WRITE_SYM", "REAL_SYM", "REBUILD_SYM",
"RECOVER_SYM", "OBSOLETE_TOKEN_693", "REDO_BUFFER_SIZE_SYM",
"REDUNDANT_SYM", "REFERENCES", "REGEXP", "RELAY", "RELAYLOG_SYM",
"RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "RELAY_THREAD", "RELEASE_SYM",
"RELOAD", "REMOVE_SYM", "RENAME", "REORGANIZE_SYM", "REPAIR",
"REPEATABLE_SYM", "REPEAT_SYM", "REPLACE_SYM", "REPLICATION",
"REPLICATE_DO_DB", "REPLICATE_IGNORE_DB", "REPLICATE_DO_TABLE",
"REPLICATE_IGNORE_TABLE", "REPLICATE_WILD_DO_TABLE",
"REPLICATE_WILD_IGNORE_TABLE", "REPLICATE_REWRITE_DB", "REQUIRE_SYM",
"RESET_SYM", "RESIGNAL_SYM", "RESOURCES", "RESTORE_SYM", "RESTRICT",
"RESUME_SYM", "RETURNED_SQLSTATE_SYM", "RETURNS_SYM", "RETURN_SYM",
"REVERSE_SYM", "REVOKE", "RIGHT", "ROLLBACK_SYM", "ROLLUP_SYM",
"ROTATE_SYM", "ROUTINE_SYM", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM",
"ROW_COUNT_SYM", "RTREE_SYM", "SAVEPOINT_SYM", "SCHEDULE_SYM",
"SCHEMA_NAME_SYM", "SECOND_MICROSECOND_SYM", "SECOND_SYM",
"SECURITY_SYM", "SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM",
"SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM",
"OBSOLETE_TOKEN_755", "SET_SYM", "SET_VAR", "SHARE_SYM", "SHIFT_LEFT",
"SHIFT_RIGHT", "SHOW", "SHUTDOWN", "SIGNAL_SYM", "SIGNED_SYM",
"SIMPLE_SYM", "SLAVE", "SLOW", "SMALLINT_SYM", "SNAPSHOT_SYM",
"SOCKET_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM", "SPATIAL_SYM",
"SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM", "SQLWARNING_SYM",
"SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS",
"SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "OBSOLETE_TOKEN_784",
"SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_SYM",
"SQL_THREAD", "SSL_SYM", "STACKED_SYM", "STARTING", "STARTS_SYM",
"START_SYM", "STATS_AUTO_RECALC_SYM", "STATS_PERSISTENT_SYM",
"STATS_SAMPLE_PAGES_SYM", "STATUS_SYM", "STDDEV_SAMP_SYM", "STD_SYM",
"STOP_SYM", "STORAGE_SYM", "STORED_SYM", "STRAIGHT_JOIN", "STRING_SYM",
"SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBPARTITIONS_SYM",
"SUBPARTITION_SYM", "SUBSTRING", "SUM_SYM", "SUPER_SYM", "SUSPEND_SYM",
"SWAPS_SYM", "SWITCHES_SYM", "SYSDATE", "TABLES", "TABLESPACE_SYM",
"OBSOLETE_TOKEN_820", "TABLE_SYM", "TABLE_CHECKSUM_SYM",
"TABLE_NAME_SYM", "TEMPORARY", "TEMPTABLE_SYM", "TERMINATED",
"TEXT_STRING", "TEXT_SYM", "THAN_SYM", "THEN_SYM", "TIMESTAMP_SYM",
"TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TIME_SYM", "TINYBLOB_SYM",
"TINYINT_SYM", "TINYTEXT_SYN", "TO_SYM", "TRAILING", "TRANSACTION_SYM",
"TRIGGERS_SYM", "TRIGGER_SYM", "TRIM", "TRUE_SYM", "TRUNCATE_SYM",
"TYPES_SYM", "TYPE_SYM", "OBSOLETE_TOKEN_848", "ULONGLONG_NUM",
"UNCOMMITTED_SYM", "UNDEFINED_SYM", "UNDERSCORE_CHARSET", "UNDOFILE_SYM",
"UNDO_BUFFER_SIZE_SYM", "UNDO_SYM", "UNICODE_SYM", "UNINSTALL_SYM",
"UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM", "UNLOCK_SYM", "UNSIGNED_SYM",
"UNTIL_SYM", "UPDATE_SYM", "UPGRADE_SYM", "USAGE", "USER", "USE_FRM",
"USE_SYM", "USING", "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM",
"VALIDATION_SYM", "VALUES", "VALUE_SYM", "VARBINARY_SYM", "VARCHAR_SYM",
"VARIABLES", "VARIANCE_SYM", "VARYING", "VAR_SAMP_SYM", "VIEW_SYM",
"VIRTUAL_SYM", "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WEIGHT_STRING_SYM",
"WHEN_SYM", "WHERE", "WHILE_SYM", "WITH", "OBSOLETE_TOKEN_893",
"WITH_ROLLUP_SYM", "WITHOUT_SYM", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM",
"X509_SYM", "XA_SYM", "XID_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM",
"YEAR_SYM", "ZEROFILL_SYM", "JSON_UNQUOTED_SEPARATOR_SYM", "PERSIST_SYM",
"ROLE_SYM", "ADMIN_SYM", "INVISIBLE_SYM", "VISIBLE_SYM", "EXCEPT_SYM",
"COMPONENT_SYM", "RECURSIVE_SYM", "GRAMMAR_SELECTOR_EXPR",
"GRAMMAR_SELECTOR_GCOL", "GRAMMAR_SELECTOR_PART", "GRAMMAR_SELECTOR_CTE",
"JSON_OBJECTAGG", "JSON_ARRAYAGG", "OF_SYM", "SKIP_SYM", "LOCKED_SYM",
"NOWAIT_SYM", "GROUPING_SYM", "PERSIST_ONLY_SYM", "HISTOGRAM_SYM",
"BUCKETS_SYM", "OBSOLETE_TOKEN_930", "CLONE_SYM", "CUME_DIST_SYM",
"DENSE_RANK_SYM", "EXCLUDE_SYM", "FIRST_VALUE_SYM", "FOLLOWING_SYM",
"GROUPS_SYM", "LAG_SYM", "LAST_VALUE_SYM", "LEAD_SYM", "NTH_VALUE_SYM",
"NTILE_SYM", "NULLS_SYM", "OTHERS_SYM", "OVER_SYM", "PERCENT_RANK_SYM",
"PRECEDING_SYM", "RANK_SYM", "RESPECT_SYM", "ROW_NUMBER_SYM", "TIES_SYM",
"UNBOUNDED_SYM", "WINDOW_SYM", "EMPTY_SYM", "JSON_TABLE_SYM",
"NESTED_SYM", "ORDINALITY_SYM", "PATH_SYM", "HISTORY_SYM", "REUSE_SYM",
"SRID_SYM", "THREAD_PRIORITY_SYM", "RESOURCE_SYM", "SYSTEM_SYM",
"VCPU_SYM", "MASTER_PUBLIC_KEY_PATH_SYM", "GET_MASTER_PUBLIC_KEY_SYM",
"RESTART_SYM", "DEFINITION_SYM", "DESCRIPTION_SYM", "ORGANIZATION_SYM",
"REFERENCE_SYM", "ACTIVE_SYM", "INACTIVE_SYM", "LATERAL_SYM",
"ARRAY_SYM", "MEMBER_SYM", "OPTIONAL_SYM", "SECONDARY_SYM",
"SECONDARY_ENGINE_SYM", "SECONDARY_LOAD_SYM", "SECONDARY_UNLOAD_SYM",
"RETAIN_SYM", "OLD_SYM", "ENFORCED_SYM", "OJ_SYM",
"NETWORK_NAMESPACE_SYM", "RANDOM_SYM",
"MASTER_COMPRESSION_ALGORITHM_SYM", "MASTER_ZSTD_COMPRESSION_LEVEL_SYM",
"PRIVILEGE_CHECKS_USER_SYM", "CONDITIONLESS_JOIN", "'|'", "'&'", "'-'",
"'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "SUBQUERY_AS_EXPR", "'('",
"')'", "EMPTY_FROM_CLAUSE", "';'", "'@'", "','", "'.'", "':'", "'!'",
"'{'", "'}'", "$accept", "start_entry", "sql_statement", "$@1",
"opt_end_of_input", "simple_statement_or_begin", "simple_statement",
"deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute",
"$@2", "execute_using", "execute_var_list", "execute_var_ident", "help",
"$@3", "change", "$@4", "$@5", "filter_defs", "filter_def",
"opt_filter_db_list", "filter_db_list", "filter_db_ident",
"opt_filter_db_pair_list", "filter_db_pair_list",
"opt_filter_table_list", "filter_table_list", "filter_table_ident",
"opt_filter_string_list", "filter_string_list", "filter_string",
"master_defs", "master_def", "ignore_server_id_list", "ignore_server_id",
"privilege_check_def", "master_file_def", "opt_channel",
"create_table_stmt", "create_role_stmt", "create_resource_group_stmt",
"create", "$@6", "create_srs_stmt", "srs_attributes",
"default_role_clause", "create_index_stmt", "server_options_list",
"server_option", "event_tail", "$@7", "ev_schedule_time", "$@8",
"opt_ev_status", "ev_starts", "ev_ends", "opt_ev_on_completion",
"ev_on_completion", "opt_ev_comment", "ev_sql_stmt", "$@9",
"ev_sql_stmt_inner", "sp_name", "sp_a_chistics", "sp_c_chistics",
"sp_chistic", "sp_c_chistic", "sp_suid", "call_stmt",
"opt_paren_expr_list", "sp_fdparam_list", "sp_fdparams", "sp_fdparam",
"sp_pdparam_list", "sp_pdparams", "sp_pdparam", "sp_opt_inout",
"sp_proc_stmts", "sp_proc_stmts1", "sp_decls", "sp_decl", "$@10", "$@11",
"sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond",
"sqlstate", "opt_value", "sp_hcond", "signal_stmt", "signal_value",
"opt_signal_value", "opt_set_signal_information",
"signal_information_item_list", "signal_allowed_expr",
"signal_condition_information_item_name", "resignal_stmt",
"get_diagnostics", "which_area", "diagnostics_information",
"statement_information", "statement_information_item",
"simple_target_specification", "statement_information_item_name",
"condition_number", "condition_information",
"condition_information_item", "condition_information_item_name",
"sp_decl_idents", "sp_opt_default", "sp_proc_stmt", "sp_proc_stmt_if",
"$@12", "sp_proc_stmt_statement", "$@13", "sp_proc_stmt_return", "$@14",
"sp_proc_stmt_unlabeled", "$@15", "sp_proc_stmt_leave",
"sp_proc_stmt_iterate", "sp_proc_stmt_open", "sp_proc_stmt_fetch",
"$@16", "sp_proc_stmt_close", "sp_opt_fetch_noise", "sp_fetch_list",
"sp_if", "$@17", "$@18", "$@19", "sp_elseifs", "case_stmt_specification",
"simple_case_stmt", "$@20", "$@21", "searched_case_stmt", "$@22",
"simple_when_clause_list", "searched_when_clause_list",
"simple_when_clause", "$@23", "$@24", "searched_when_clause", "$@25",
"$@26", "else_clause_opt", "sp_labeled_control", "$@27", "sp_opt_label",
"sp_labeled_block", "$@28", "sp_unlabeled_block", "$@29",
"sp_block_content", "$@30", "sp_unlabeled_control", "$@31", "$@32",
"$@33", "$@34", "trg_action_time", "trg_event", "opt_ts_datafile_name",
"opt_logfile_group_name", "opt_tablespace_options",
"tablespace_option_list", "tablespace_option",
"opt_alter_tablespace_options", "alter_tablespace_option_list",
"alter_tablespace_option", "opt_undo_tablespace_options",
"undo_tablespace_option_list", "undo_tablespace_option",
"opt_logfile_group_options", "logfile_group_option_list",
"logfile_group_option", "opt_alter_logfile_group_options",
"alter_logfile_group_option_list", "alter_logfile_group_option",
"ts_datafile", "undo_tablespace_state", "lg_undofile",
"ts_option_initial_size", "ts_option_autoextend_size",
"ts_option_max_size", "ts_option_extent_size",
"ts_option_undo_buffer_size", "ts_option_redo_buffer_size",
"ts_option_nodegroup", "ts_option_comment", "ts_option_engine",
"ts_option_file_block_size", "ts_option_wait", "ts_option_encryption",
"size_number", "opt_create_table_options_etc",
"opt_create_partitioning_etc", "opt_duplicate_as_qe",
"as_create_query_expression", "partition_clause", "part_type_def",
"opt_linear", "opt_key_algo", "opt_num_parts", "opt_sub_part",
"opt_name_list", "name_list", "opt_num_subparts", "opt_part_defs",
"part_def_list", "part_definition", "opt_part_values", "part_func_max",
"part_values_in", "part_value_list", "part_value_item_list_paren",
"$@35", "part_value_item_list", "part_value_item", "opt_sub_partition",
"sub_part_list", "sub_part_definition", "opt_part_options",
"part_option_list", "part_option", "opt_create_database_options",
"create_database_options", "create_database_option", "opt_if_not_exists",
"create_table_options_space_separated", "create_table_options",
"opt_comma", "create_table_option", "ternary_option", "default_charset",
"default_collation", "default_encryption", "row_types",
"merge_insert_types", "udf_type", "table_element_list", "table_element",
"column_def", "opt_references", "table_constraint_def",
"check_constraint", "opt_constraint_name", "opt_not",
"opt_constraint_enforcement", "constraint_enforcement", "field_def",
"opt_generated_always", "opt_stored_attribute", "type", "spatial_type",
"nchar", "varchar", "nvarchar", "int_type", "real_type", "opt_PRECISION",
"numeric_type", "standard_float_options", "float_options", "precision",
"type_datetime_precision", "func_datetime_precision", "field_options",
"field_opt_list", "field_option", "field_length", "opt_field_length",
"opt_precision", "opt_column_attribute_list", "column_attribute_list",
"column_attribute", "column_format", "storage_media", "now",
"now_or_signed_literal", "character_set", "charset_name",
"opt_load_data_charset", "old_or_new_charset_name",
"old_or_new_charset_name_or_default", "collation_name", "opt_collate",
"opt_default", "ascii", "unicode", "opt_charset_with_opt_binary",
"opt_bin_mod", "ws_num_codepoints", "$@36", "opt_primary", "references",
"opt_ref_list", "reference_list", "opt_match_clause",
"opt_on_update_delete", "delete_option", "constraint_key_type",
"key_or_index", "opt_key_or_index", "keys_or_index", "opt_unique",
"opt_fulltext_index_options", "fulltext_index_options",
"fulltext_index_option", "opt_spatial_index_options",
"spatial_index_options", "spatial_index_option", "opt_index_options",
"index_options", "index_option", "common_index_option",
"opt_index_name_and_type", "opt_index_type_clause", "index_type_clause",
"visibility", "index_type", "key_list", "key_part",
"key_list_with_expression", "key_part_with_expression", "opt_ident",
"opt_component", "string_list", "alter_table_stmt",
"alter_database_stmt", "$@37", "alter_procedure_stmt", "$@38",
"alter_function_stmt", "$@39", "alter_view_stmt", "$@40", "$@41",
"alter_event_stmt", "$@42", "alter_logfile_stmt",
"alter_tablespace_stmt", "alter_undo_tablespace_stmt",
"alter_server_stmt", "alter_user_stmt", "opt_replace_password",
"alter_resource_group_stmt", "alter_user_command",
"opt_account_lock_password_expire_options",
"opt_account_lock_password_expire_option_list",
"opt_account_lock_password_expire_option", "connect_options",
"connect_option_list", "connect_option", "user_func",
"ev_alter_on_schedule_completion", "opt_ev_rename_to", "opt_ev_sql_stmt",
"ident_or_empty", "opt_alter_table_actions",
"standalone_alter_table_action", "alter_table_partition_options",
"opt_alter_command_list", "standalone_alter_commands",
"opt_with_validation", "with_validation", "all_or_alt_part_name_list",
"alter_list", "alter_commands_modifier_list", "alter_list_item",
"alter_commands_modifier", "opt_index_lock_and_algorithm",
"alter_algorithm_option", "alter_algorithm_option_value",
"alter_lock_option", "alter_lock_option_value", "opt_column",
"opt_ignore", "opt_restrict", "opt_place", "opt_to", "group_replication",
"slave", "slave_start", "start_slave_opts", "$@43", "start",
"opt_start_transaction_option_list", "start_transaction_option_list",
"start_transaction_option", "slave_connection_opts",
"slave_user_name_opt", "slave_user_pass_opt", "slave_plugin_auth_opt",
"slave_plugin_dir_opt", "opt_slave_thread_option_list",
"slave_thread_option_list", "slave_thread_option", "slave_until",
"slave_until_opts", "checksum", "opt_checksum_type", "repair_table_stmt",
"opt_mi_repair_types", "mi_repair_types", "mi_repair_type",
"analyze_table_stmt", "opt_num_buckets", "opt_histogram",
"binlog_base64_event", "check_table_stmt", "opt_mi_check_types",
"mi_check_types", "mi_check_type", "optimize_table_stmt",
"opt_no_write_to_binlog", "rename", "$@44", "rename_list",
"table_to_table_list", "table_to_table", "keycache_stmt",
"keycache_list", "assign_to_keycache", "key_cache_name", "preload_stmt",
"preload_list", "preload_keys", "adm_partition", "opt_cache_key_list",
"opt_ignore_leaves", "select_stmt", "select_stmt_with_into",
"query_expression", "query_expression_body", "query_expression_parens",
"query_primary", "query_specification", "opt_from_clause", "from_clause",
"from_tables", "table_reference_list", "select_options",
"select_option_list", "select_option", "opt_locking_clause_list",
"locking_clause_list", "locking_clause", "lock_strength",
"table_locking_list", "opt_locked_row_action", "locked_row_action",
"select_item_list", "select_item", "select_alias", "optional_braces",
"expr", "bool_pri", "predicate", "opt_of", "bit_expr", "or", "and",
"not", "not2", "comp_op", "all_or_any", "simple_expr", "opt_array_cast",
"function_call_keyword", "function_call_nonkeyword",
"function_call_conflict", "geometry_function", "function_call_generic",
"fulltext_options", "opt_natural_language_mode", "opt_query_expansion",
"opt_udf_expr_list", "udf_expr_list", "udf_expr",
"set_function_specification", "sum_expr", "window_func_call",
"opt_lead_lag_info", "opt_ll_default", "opt_null_treatment",
"opt_from_first_last", "opt_windowing_clause", "windowing_clause",
"window_name_or_spec", "window_name", "window_spec",
"window_spec_details", "opt_existing_window_name",
"opt_partition_clause", "opt_window_order_by_clause",
"opt_window_frame_clause", "window_frame_extent", "window_frame_start",
"window_frame_between", "window_frame_bound",
"opt_window_frame_exclusion", "window_frame_units", "grouping_operation",
"variable", "variable_aux", "opt_distinct", "opt_gconcat_separator",
"opt_gorder_clause", "gorder_list", "in_sum_expr", "cast_type",
"opt_expr_list", "expr_list", "ident_list_arg", "ident_list", "opt_expr",
"opt_else", "when_list", "table_reference", "esc_table_reference",
"joined_table", "natural_join_type", "inner_join_type",
"outer_join_type", "opt_inner", "opt_outer", "opt_use_partition",
"use_partition", "table_factor", "table_reference_list_parens",
"single_table_parens", "single_table", "joined_table_parens",
"derived_table", "table_function", "columns_clause", "columns_list",
"jt_column", "jt_column_type", "opt_on_empty_or_error", "opt_on_empty",
"opt_on_error", "jt_on_response", "index_hint_clause", "index_hint_type",
"index_hint_definition", "index_hints_list", "opt_index_hints_list",
"opt_key_definition", "opt_key_usage_list", "key_usage_element",
"key_usage_list", "using_list", "ident_string_list", "interval",
"interval_time_stamp", "date_time_type", "opt_as", "opt_table_alias",
"opt_all", "opt_where_clause", "where_clause", "opt_having_clause",
"with_clause", "with_list", "common_table_expr",
"opt_derived_column_list", "simple_ident_list", "opt_window_clause",
"window_definition_list", "window_definition", "opt_group_clause",
"group_list", "olap_opt", "alter_order_list", "alter_order_item",
"opt_order_clause", "order_clause", "order_list",
"opt_ordering_direction", "ordering_direction", "opt_limit_clause",
"limit_clause", "limit_options", "limit_option", "opt_simple_limit",
"ulong_num", "real_ulong_num", "ulonglong_num", "real_ulonglong_num",
"dec_num_error", "dec_num", "select_var_list", "select_var_ident",
"into_clause", "into_destination", "do_stmt", "empty_select_options",
"drop_table_stmt", "drop_index_stmt", "drop_database_stmt",
"drop_function_stmt", "drop_resource_group_stmt", "drop_procedure_stmt",
"drop_user_stmt", "drop_view_stmt", "drop_event_stmt",
"drop_trigger_stmt", "drop_tablespace_stmt", "drop_undo_tablespace_stmt",
"drop_logfile_stmt", "drop_server_stmt", "drop_srs_stmt",
"drop_role_stmt", "table_list", "table_alias_ref_list", "if_exists",
"opt_temporary", "opt_drop_ts_options", "drop_ts_option_list",
"drop_ts_option", "insert_stmt", "replace_stmt", "insert_lock_option",
"replace_lock_option", "opt_INTO", "insert_from_constructor",
"insert_query_expression", "fields", "insert_values",
"query_expression_or_parens", "value_or_values", "values_list", "equal",
"opt_equal", "row_value", "opt_values", "values", "expr_or_default",
"opt_insert_update_list", "update_stmt", "opt_with_clause",
"update_list", "update_elem", "opt_low_priority", "delete_stmt",
"opt_wild", "opt_delete_options", "opt_delete_option", "truncate_stmt",
"opt_table", "opt_profile_defs", "profile_defs", "profile_def",
"opt_profile_args", "show", "$@45", "show_param", "$@46", "$@47",
"show_engine_param", "master_or_binary", "opt_storage", "opt_db",
"opt_full", "opt_extended", "opt_show_cmd_type", "from_or_in",
"binlog_in", "binlog_from", "opt_wild_or_where", "describe_stmt",
"explain_stmt", "explainable_stmt", "describe_command",
"opt_explain_format_type", "opt_describe_column", "flush", "$@48",
"flush_options", "$@49", "opt_flush_lock", "$@50", "flush_options_list",
"flush_option", "opt_table_list", "reset", "$@51", "reset_options",
"opt_if_exists_ident", "reset_option", "$@52", "$@53",
"slave_reset_options", "master_reset_options", "purge", "$@54",
"purge_options", "purge_option", "kill", "kill_option", "use",
"load_stmt", "data_or_xml", "opt_local", "load_data_lock",
"opt_duplicate", "duplicate", "opt_field_term", "field_term_list",
"field_term", "opt_line_term", "line_term_list", "line_term",
"opt_xml_rows_identified_by", "opt_ignore_lines", "lines_or_rows",
"opt_field_or_var_spec", "fields_or_vars", "field_or_var",
"opt_load_data_set_spec", "load_data_set_list", "load_data_set_elem",
"text_literal", "text_string", "param_marker", "signed_literal",
"literal", "NUM_literal", "temporal_literal", "insert_ident",
"table_wild", "order_expr", "grouping_expr", "simple_ident",
"simple_ident_nospvar", "simple_ident_q", "table_ident",
"table_ident_opt_wild", "IDENT_sys", "TEXT_STRING_sys_nonewline",
"filter_wild_db_table_string", "TEXT_STRING_sys", "TEXT_STRING_literal",
"TEXT_STRING_filesystem", "TEXT_STRING_password", "TEXT_STRING_hash",
"TEXT_STRING_validated", "ident", "role_ident", "label_ident",
"lvalue_ident", "ident_or_text", "role_ident_or_text",
"user_ident_or_text", "user", "role", "schema", "ident_keyword",
"ident_keywords_ambiguous_1_roles_and_labels",
"ident_keywords_ambiguous_2_labels", "label_keyword",
"ident_keywords_ambiguous_3_roles", "ident_keywords_unambiguous",
"role_keyword", "lvalue_keyword",
"ident_keywords_ambiguous_4_system_variables", "set",
"start_option_value_list", "set_role_stmt", "opt_except_role_list",
"set_resource_group_stmt", "thread_id_list", "thread_id_list_options",
"start_option_value_list_following_option_type",
"option_value_list_continued", "option_value_list", "option_value",
"option_type", "opt_var_type", "opt_var_ident_type",
"opt_set_var_ident_type", "option_value_following_option_type",
"option_value_no_option_type", "internal_variable_name",
"transaction_characteristics", "transaction_access_mode",
"opt_transaction_access_mode", "isolation_level", "opt_isolation_level",
"transaction_access_mode_types", "isolation_types",
"set_expr_or_default", "lock", "$@55", "table_or_tables",
"table_lock_list", "table_lock", "lock_option", "unlock", "$@56",
"shutdown_stmt", "restart_server_stmt", "alter_instance_stmt",
"alter_instance_action", "handler_stmt", "handler_scan_function",
"handler_rkey_function", "handler_rkey_mode", "revoke", "$@57", "grant",
"$@58", "opt_acl_type", "opt_privileges", "role_or_privilege_list",
"role_or_privilege", "opt_with_admin_option", "opt_and", "require_list",
"require_list_element", "grant_ident", "user_list", "role_list",
"opt_retain_current_password", "opt_discard_old_password", "create_user",
"alter_user", "create_user_list", "alter_user_list", "opt_column_list",
"column_list", "require_clause", "grant_options", "opt_grant_option",
"opt_with_roles", "opt_grant_as", "begin_stmt", "$@59", "opt_work",
"opt_chain", "opt_release", "opt_savepoint", "commit", "rollback",
"savepoint", "release", "union_option", "row_subquery", "table_subquery",
"subquery", "query_spec_option", "init_lex_create_info",
"view_or_trigger_or_sp_or_event", "definer_tail", "no_definer_tail",
"definer_opt", "no_definer", "definer", "view_replace_or_algorithm",
"view_replace", "view_algorithm", "view_suid", "view_tail", "$@60",
"view_select", "view_check_option", "trigger_action_order",
"trigger_follows_precedes_clause", "trigger_tail", "$@61", "udf_tail",
"sf_tail", "$@62", "$@63", "$@64", "$@65", "sp_tail", "$@66", "$@67",
"$@68", "$@69", "xa", "opt_convert_xid", "xid", "begin_or_start",
"opt_join_or_resume", "opt_one_phase", "opt_suspend", "install",
"uninstall", "TEXT_STRING_sys_list", "import_stmt", "clone_stmt",
"opt_datadir_ssl", "opt_ssl", "resource_group_types",
"opt_resource_group_vcpu_list", "vcpu_range_spec_list",
"vcpu_num_or_range", "signed_num", "opt_resource_group_priority",
"opt_resource_group_enable_disable", "opt_force", YY_NULLPTR
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
805, 806, 807, 808, 809, 810, 811, 812, 813, 814,
815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
825, 826, 827, 828, 829, 830, 831, 832, 833, 834,
835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
865, 866, 867, 868, 869, 870, 871, 872, 873, 874,
875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
885, 886, 887, 888, 889, 890, 891, 892, 893, 894,
895, 896, 897, 898, 899, 900, 901, 902, 903, 904,
905, 906, 907, 908, 909, 910, 911, 912, 913, 914,
915, 916, 917, 918, 919, 920, 921, 922, 923, 924,
925, 926, 927, 928, 929, 930, 931, 932, 933, 934,
935, 936, 937, 938, 939, 940, 941, 942, 943, 944,
945, 946, 947, 948, 949, 950, 951, 952, 953, 954,
955, 956, 957, 958, 959, 960, 961, 962, 963, 964,
965, 966, 967, 968, 969, 970, 971, 972, 973, 974,
975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
985, 986, 987, 988, 989, 990, 991, 992, 124, 38,
45, 43, 42, 47, 37, 94, 126, 993, 40, 41,
994, 59, 64, 44, 46, 58, 33, 123, 125
};
# endif
#define YYPACT_NINF -4418
#define yypact_value_is_default(Yystate) \
(!!((Yystate) == (-4418)))
#define YYTABLE_NINF -2745
#define yytable_value_is_error(Yytable_value) \
0
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const int yypact[] =
{
6531, 3126, 133, -4418, 589, 1110, 66889, 1283, 1897, 1897,
649, 3041, -4418, -4418, -4418, -4418, 3300, -4418, 66889, 133,
480, 44929, 66889, -4418, 974, 1714, -16, 256, 142, 103,
133, 66889, -4418, 1123, 1826, 133, 1279, 1002, 59569, 45661,
649, 66889, 2928, 28069, -4418, -4418, 59569, 979, 151, 1105,
5, 1462, 66889, 60301, 3008, 21408, 258, 1406, 1011, 1486,
-4418, 1238, 1893, -4418, 1852, -4418, -4418, 1453, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 52249, -4418, -4418, 1383, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
1796, 17, 1089, -4418, -4418, 687, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 157, -4418, -4418, -4418,
-4418, -4418, 61033, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
1950, 66889, 2064, 66889, 1730, 1980, 66889, 58105, 66889, 66889,
1665, 2075, 2109, 2186, -4418, -4418, 2234, -4418, -4418, 1897,
649, -4418, -4418, 66889, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, 1621, -4418, 1620, -4418, -4418,
-4418, -4418, -4418, -4418, 1812, 2236, -4418, -4418, 66889, 66889,
-4418, 2408, 2205, 2223, 2301, 2030, 58105, 21, 66889, -4418,
1958, -4418, 2205, 2205, 2318, 2311, 1982, -4418, -4418, -4418,
2234, 2555, -4418, 12372, 2075, 2075, 2075, 66889, 2374, 2075,
2075, 1855, 66889, 2075, 2046, 2075, 2075, 2075, 2407, 1897,
-4418, -4418, -4418, -4418, 2492, 2172, 2152, 2189, -4418, 1993,
-4418, -4418, -4418, 2269, -4418, 1888, -4418, 2096, -4418, 2284,
1888, -4418, 236, 1888, 134, -4418, -4418, -4418, 1888, -4418,
-4418, -4418, -4418, -262, -4418, -4418, -4418, -4418, 778, -4418,
2286, 113, 58105, 2476, -4418, -4418, -4418, 2447, 66889, 589,
-4418, -4418, 16137, -4418, 2442, -4418, 310, 2497, -4418, 1897,
2503, 312, 66889, 52981, -4418, 1897, -4418, -4418, 2500, -4418,
50, 85, 2113, -4418, -4418, 2248, -4418, 2172, 2396, 188,
233, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, 12372, 2928, -4418, -4418, 111, 2292, -238, -4418, -4418,
48589, 550, -4418, 135, -4418, 70549, -4418, 2570, 28802, 50053,
-4418, 2056, -4418, -4418, -4418, -4418, -4418, -4418, 69085, 2031,
1015, 6802, 2248, -4418, 1656, 680, -4418, 1656, -4418, 66889,
66889, 589, -4418, 1897, -4418, 66889, 2063, -4418, 2077, -4418,
238, 238, 238, 2745, 238, -4418, 238, 2106, 2126, 2145,
21408, -4418, 2148, 2156, 2171, 16137, 2175, 2194, 2208, 2211,
2220, 2230, 2240, 2246, 2246, 2253, 2258, 2276, 2288, -173,
2319, -4418, 2325, 1011, 2348, -4418, -4418, 2366, 2385, 2386,
2391, -4418, 2398, 2417, 2422, 16890, 2427, 2428, -4418, 38326,
2438, 2446, 2448, 2449, 2457, 2458, 2459, 2484, 2494, -4418,
-4418, 2253, -4418, -4418, -4418, 2515, 2524, 2531, 2534, 2536,
2542, 2559, 2567, 2572, 2573, 2575, 2577, 2581, 2583, 2584,
2586, 2253, -4418, 546, 2590, 2594, 850, 2595, -4418, 2598,
-4418, 351, 2599, 2246, 2253, 2253, 2602, 2605, 2609, 2613,
2616, 2619, 2628, 2632, 2634, 2638, 2642, 2643, 2646, 2647,
2648, 2650, 2655, 2658, 2663, 2665, 21408, 21408, 21408, 11619,
29535, -4418, 66889, -4418, -4418, 3085, 21408, 1134, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2543, -4418,
-4418, -4418, -4418, 80, -4418, 2670, 2102, -4418, -4418, 2673,
2782, 2893, 1292, 2898, -4418, 2741, 3011, 2378, 164, 757,
687, -4418, -4418, 2393, 66889, 2246, -4418, 2677, 1578, -4418,
-4418, 2411, -4418, 2216, -4418, 723, 2278, -4418, 2592, 27336,
-4418, 3108, 1582, 2919, -4418, 50785, 1582, 2919, 1068, 17,
1297, 1712, 2921, -4418, 3094, 1421, 53713, 2512, 1212, -4418,
-4418, 52981, -4418, 66889, 58105, -4418, 66889, -4418, 2881, 2954,
8073, 66889, 3134, -4418, 66889, 66889, 2779, -4418, 66889, -4418,
99, -4418, 1503, 16137, -4418, 66889, -4418, -4418, 208, -4418,
143, 301, 62, 903, 66889, 66889, 66889, 2799, 3151, 66889,
2718, 3367, 66889, 52981, 73477, 66889, 66889, 2205, 1243, 1147,
-4418, -4418, 16137, -4418, 2675, -4418, 47857, 2783, -4418, 3026,
-4418, 2678, 66889, 66889, 66889, 3051, 66889, 66889, 58105, 2724,
789, 66889, 66889, 52981, 66889, 73477, 66889, 2075, 2819, 4195,
31734, -4418, -4418, -4418, -4418, -4418, 2872, -4418, -4418, -4418,
-4418, -4418, 66889, -4418, -4418, 52981, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, 58105, -4418, 1083, 52981, 46393, 129, -4418,
67621, 66889, -4418, 589, -4418, 2500, 2920, -4418, 2685, 2331,
3392, -4418, -4418, 3161, 3414, 66889, 66889, -175, -4418, -4418,
3160, -4418, -4418, 2698, 2867, 66889, 66889, -4418, 66889, 66889,
-4418, -4418, -4418, 2699, -4418, -4418, 2543, 4474, -4418, 2700,
52981, 52981, 1083, 2974, 62, 189, -4418, -4418, 72013, 66889,
-4418, -4418, -4418, -4418, 3391, 16137, -4418, 52981, 2733, 2900,
3197, 970, -4418, 2720, 2721, -4418, 2820, -4418, -4418, 2729,
-4418, 2731, 66889, 1366, 1015, -4418, -4418, -4418, -4418, -4418,
66889, 2737, 135, -4418, 2031, 1015, 30268, -4418, 10113, 3319,
-4418, 90, 2739, 2479, 90, 54445, 2919, 259, 465, 388,
441, -4418, 3294, -4418, 2952, 2936, -4418, -4418, 474, 3538,
-4418, 3336, -4418, 954, -4418, 2960, 2919, 90, -4418, 3218,
3349, 45, 2323, 402, 1085, -4418, -4418, -4418, -4418, 2755,
-4418, 1058, 3423, -4418, 2759, -4418, 3321, -4418, -4418, 2685,
-4418, 2063, 66889, 66889, 3492, -4418, -4418, -4418, 2763, -4418,
3140, 2959, -4418, 2874, -4418, -4418, 944, 16137, 16137, 1878,
3451, 3513, 3513, 3513, 2331, 2895, 16137, 16137, 16137, 16137,
16137, 16137, 1948, 2785, -4418, -4418, -44, -4418, 2788, 16137,
16137, -4418, 16137, 16137, 66889, -4418, 4557, 16137, 16137, 562,
3399, 16137, 16137, 16137, 11619, 3839, 16137, 16137, 66889, 3534,
2792, -4418, 2795, 2014, 16137, 16137, 2017, 16137, 16137, 16137,
16137, 16137, -4418, 16137, 16137, 21408, 16137, 16137, 16137, 16137,
16137, 16137, 2801, 16137, 3513, 3513, 16137, 16137, 2044, -4418,
-4418, 16137, 2094, 2094, -4418, 16137, 10866, 16137, -4418, -4418,
-4418, 2803, -4418, -4418, -4418, 66889, 3513, 3513, 16137, 16137,
16137, 3513, 3513, 16137, 2804, 2805, 16137, 16137, 16137, 16137,
16137, 21408, 2806, 2807, 2808, 3451, 3451, 3451, 2810, 757,
191, 152, -4418, 3061, 16137, 21408, -4418, 21408, 21408, 21408,
21408, 21408, 22161, 22914, 21408, 21408, 21408, 21408, 3451, 58105,
21408, -4418, 2543, 2543, 16137, 66889, 16137, 1705, -4418, -4418,
52981, 3430, -4418, -4418, -4418, 3412, -4418, -4418, 2821, 2840,
3523, 58105, 2922, 2844, 184, -4418, 492, 52981, 2937, 3417,
3418, 3420, 3428, 3431, -4418, 3436, -4418, 2848, 3438, -4418,
3198, 3032, 3032, 58105, 2855, -4418, -4418, -4418, 16137, -4418,
-4418, 687, 1068, -4418, -4418, -4418, -4418, -4418, -39, -4418,
-4418, 687, 1068, 694, 3362, -4418, 1068, -4418, 2919, -4418,
2919, 1068, -4418, -4418, -4418, 61765, 1712, 2447, 58105, 3525,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, 3488, -4418, -4418, 3249, 3303, 3616, -4418, 2880,
3519, 1015, 1015, 3519, 1015, 1015, -4418, 3048, -4418, 95,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, 3475, 4093, 1015,
1787, 3236, 1015, 1015, 3573, 1015, 3255, 3257, 1015, 1015,
1015, 1015, 3076, 3528, -4418, 1015, 3404, 76, 3682, 3405,
1015, 3267, -4418, 790, 3533, 1015, 1015, 1015, 1015, 1015,
3573, 3269, 3623, 1015, 1015, 3274, 324, 3280, 3282, 1015,
1015, 1015, 1015, 261, 1015, 1015, 3284, 1015, 3067, 3068,
1015, -4418, -4418, 5977, -4418, -4418, -4418, 2533, -4418, -4418,
59, -4418, -4418, 2938, 2940, -4418, -4418, -4418, -4418, 3188,
-4418, 2986, -4418, 3209, 3074, -4418, 2779, 70, 62497, 66889,
-4418, -4418, 2955, 2956, 1613, -4418, 2331, 2957, 2958, -4418,
5321, 3610, -4418, -4418, 66889, -4418, -4418, -4418, -4418, 3097,
-4418, -4418, -4418, -4418, 3299, -4418, 3659, 3270, -4418, -4418,
-4418, -4418, 3552, -4418, 3346, 3726, 3018, 3630, 3366, 2205,
3519, 3131, 3740, 3545, -4418, 67, 2731, 3169, 1199, 66889,
3562, 2205, 66889, 66889, 66889, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, 66889, -4418, -4418, -4418, -4418, -4418, -4418, 2779,
-4418, 16137, -4418, -4418, 63229, -4418, -4418, -4418, 16137, -4418,
16137, 16137, -4418, -4418, -4418, -4418, -4418, -4418, 3448, -4418,
-4418, -4418, 17643, 21408, 3029, 21408, 21408, 3503, 3112, 1506,
41254, -4418, -4418, 3028, 66889, 789, -4418, -4418, 2075, -4418,
-4418, -4418, 246, -4418, -4418, 183, -4418, 3027, 130, 2731,
3592, 66889, 3033, -4418, 3499, 3500, 3506, 3508, -4418, -4418,
-4418, -4418, 3509, -4418, 3510, -4418, -4418, 3037, -4418, 66889,
26603, 58105, -4418, 3045, -4418, 3642, -4418, 3425, -4418, -4418,
1312, 3222, -4418, -4418, -4418, -4418, 41989, 1409, -4418, -4418,
66889, -4418, 227, 269, 2415, 3171, -4418, 2685, 66889, 589,
589, 66889, -4418, 3574, -4418, 239, 3055, -4418, 3059, 58105,
-4418, -4418, 252, 52981, 52981, 3060, -4418, 3234, 140, 3421,
-4418, 3235, 3808, 85, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, 3078, 3675, 3626,
3462, 3641, 3027, 41989, -4418, 66889, -4418, 24402, 3171, -4418,
3647, 3262, 3263, 936, -4418, 55177, -4418, 2331, 563, 3393,
-4418, 3393, 1802, -4418, -4418, 3604, -4418, 3429, -4418, 73477,
-4418, 58105, 73477, 3653, 3109, 3119, 3120, 3125, 3127, 69817,
16137, -4418, -4418, -4418, 10113, 3129, -4418, 69817, -4418, -4418,
21408, 2325, -4418, 2572, -4418, 2331, -4418, 3635, 2543, 16137,
-4418, -4418, 3143, 2205, 66889, 66889, 66889, 66889, 66889, 52981,
66889, -4418, 1408, 1408, -4418, -4418, -4418, 90, 66889, -4418,
66889, 90, 52981, -4418, 259, 66889, 90, -4418, 3634, 3328,
-4418, -4418, -4418, 3710, -4418, -4418, 3709, 3152, -4418, 3635,
-4418, 3321, 259, -4418, -4418, -4418, -4418, -4418, 259, -4418,
-4418, -4418, 259, 259, 259, 90, 90, 1656, -4418, -4418,
3382, 680, 3844, -4418, -4418, 1694, -4418, 1011, 238, 3501,
-4418, 3714, -4418, -4418, -4418, -4418, -4418, 222, 249, -4418,
3513, 3162, 16137, 3164, 3165, 3166, 16137, 123, 522, 1375,
1522, 1701, 1511, 199, 16137, 3167, 13125, -4418, 3170, -4418,
-4418, 281, 295, 1550, 1565, 3173, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 3712, -4418, 353, 3175,
-4418, -4418, -4418, -4418, 3172, -4418, 16137, 1588, 405, 440,
220, 3177, 718, 1729, 1791, 3179, 66889, 66889, 3513, 3180,
1593, 1602, 3513, 3182, 779, 1658, 1858, 1934, 1941, 813,
1953, 3494, 1688, 873, 901, 1692, 968, 1039, -4418, 1699,
3183, 3184, 1154, 211, 3513, 3186, 228, 3185, 3187, 1708,
13878, 14631, 15384, 207, 1249, -4418, 3194, -4418, 2795, 3200,
3203, 288, 186, 1761, 3193, 3204, 1954, 3230, 3230, 1777,
1278, 1786, 1278, 1301, 124, 3230, 3230, 3230, -4418, 16137,
3206, 3207, 3208, 58105, 16137, 160, 3202, 3202, 1256, 1256,
2207, 2170, 16890, 812, 16890, 812, 3202, 3202, 3202, -4418,
-4418, 3451, -4418, -4418, 47857, 3214, 3221, -4418, 1576, 1817,
-4418, 127, 147, 3576, 260, 3225, 1015, -4418, -4418, -4418,
3577, -166, -4418, 72745, 3578, 1121, 58105, 3424, 3432, -4418,
-4418, 3433, -4418, -4418, 432, 1946, -4418, 2488, 325, 589,
1678, 589, 2283, 589, 589, 2204, 589, 3321, 3835, 3874,
-4418, -4418, 2414, -4418, 31001, 332, 3250, -4418, -4418, -4418,
-4418, 50785, 50785, -4418, -4418, -4418, -4418, -4418, 1800, 3504,
-4418, 1068, 1068, -4418, 66889, 58, -4418, 3252, -4418, 25137,
-4418, 2845, 94, -4418, -4418, -4418, -4418, 2624, 1770, 3524,
3746, 3419, 1770, 2591, 589, 1727, -4418, 3756, 589, 1727,
3756, 3756, 66889, -4418, 1311, 1015, -4418, 66889, 1613, 133,
1613, -4418, 1055, 66889, 39058, 63961, 66889, 66889, 66889, 133,
1678, 2283, 66889, 2283, 64693, 133, 589, 589, 589, 589,
2414, 1015, 2283, -4418, 64693, -4418, 66889, 3747, 66889, 3749,
66889, 66889, -4418, 58105, 66889, 64693, -4418, 1015, 180, 2283,
65425, 1678, 1678, 66889, 133, 66889, 2402, 589, 133, -4418,
66889, -4418, -4418, 66889, 66889, 133, 133, 2697, 2402, 2402,
2517, -4418, -4418, 66889, 2283, 64693, 3268, -4418, -4418, 55909,
-4418, 1015, 1015, 3612, -4418, -4418, 5639, 8672, 1835, 1015,
3311, 3644, 303, 66889, -4418, 3351, 3353, -4418, -4418, -4418,
-4418, -4418, 1613, 64693, 66157, 3770, -4418, 16137, 3867, 3868,
3869, 3870, 3871, 3873, 3875, 3878, 3881, 3882, 3883, 3888,
3890, 3891, 3895, 3898, 3900, 3901, 3915, 3916, 3917, 3918,
3920, 3921, 3922, 3926, 3927, 65, -4418, -4418, 3928, 3930,
3934, 3935, 3937, 3949, 3950, 84, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, 154, 66889, 3419, 3402, 3471, 66889, 3521,
-4418, 3828, 3437, 3519, 196, 3463, 52981, 3651, 1015, 1079,
1079, 3743, -4418, 4064, 66889, 66889, 3374, 726, -4418, 2116,
-4418, -4418, -4418, -4418, 2695, 230, -4418, -4418, -4418, -4418,
-4418, 958, -4418, 3376, -4418, 1011, 847, 11619, -4418, 1076,
3516, 21408, -4418, 3377, 21408, 3378, 21408, 21408, -4418, 1629,
66889, 363, -4418, 3521, 758, -4418, 105, -4418, -4418, 52981,
-4418, -4418, -4418, -4418, -4418, 130, 58105, 3380, -4418, -4418,
-4418, -4418, -4418, 3321, -4418, 3021, 3059, -4418, 3558, 3559,
3565, -4418, 33200, -4418, -4418, -4418, -4418, 33200, 29, 1083,
-4418, 66889, 52981, 3384, 3388, 3396, 3569, 3498, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 3171,
3406, 2919, -4418, 3421, -4418, -4418, 3403, -4418, 1503, 3032,
49, 66889, -4418, 16137, 589, -4418, 3579, -4418, 66889, 66889,
-4418, -4418, -4418, -4418, 96, -4418, 3411, 2250, -4418, 3521,
-4418, -4418, 3321, -4418, 4474, 26603, 3775, 1083, 52981, 3964,
-4418, -4418, 3415, 1011, 23667, 3434, -4418, 3413, 2999, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, 3421, 3102, 3952,
3171, 73477, 73477, 73477, -4418, -4418, -4418, 3435, 2900, 2900,
3445, 3445, 212, 3748, -4418, -4418, -4418, -4418, 2731, -4418,
-4418, 2845, -4418, -4418, -4418, -4418, -4418, 1015, 2331, -4418,
30268, -4418, 589, 3982, -4418, 2331, 3439, 66889, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 3568, 90, -4418, -4418, -4418, -4418,
-4418, 3752, 2919, 3538, 3982, -4418, 90, 90, 66889, 66889,
90, -4418, -4418, -4418, -4418, -4418, 589, -4418, 66889, -4418,
3443, -4418, 3850, 18396, -4418, 3442, 3230, 2331, 3230, 3230,
3230, 2379, 16137, 16137, 4038, 4189, -4418, 56641, -4418, -4418,
-4418, 56641, 4189, 1966, 3230, 3449, -4418, 3954, 3959, -4418,
-4418, -4418, 16137, 16137, -4418, 16137, -57, -4418, 16137, 16137,
16137, 16137, 16137, -4418, -4418, 21408, -4418, 3456, 3464, 3230,
-4418, -4418, 3465, 3230, 16137, -4418, -4418, -4418, -4418, 16137,
-4418, 16137, -4418, 16137, 16137, -4418, 16137, 16137, -4418, 3230,
3230, 19149, 16137, 16137, 3466, 3230, -4418, 16137, 16137, 16137,
-4418, 16137, 1515, 16137, 2049, 16137, 2341, 16137, -4418, 16137,
-4418, 3230, 3230, -4418, 16137, 2303, -4418, 2283, -4418, 3513,
3230, -4418, 39790, -4418, -4418, 91, 2888, 3467, 91, 3468,
21408, 3230, -4418, -4418, -4418, 2010, -4418, -4418, -4418, 3457,
2331, -4418, 3839, 3839, -4418, -4418, 16137, 16137, 66889, 4041,
3470, 21408, 3477, 21408, 2845, 3650, 3479, 4200, 2283, 3032,
-4418, 3393, 3815, -4418, -4418, 2731, -4418, 3772, 3836, 3445,
2218, -4418, -4418, -4418, -4418, 483, 2283, 2283, 2283, 2283,
2488, -4418, 128, 597, -4418, 325, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 589, 4082,
3837, 56641, 4172, -4418, -4418, -4418, -4418, -4418, 16137, -4418,
-4418, 66889, 3580, -4418, 1535, -4418, -4418, 3904, -4418, -4418,
1210, 253, 1378, 25137, 66889, 42724, -4418, 734, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 1015, 589,
3715, 3717, 3720, 3729, 3730, 3773, -4418, -4418, 3886, -4418,
589, 1070, 589, 589, 589, 589, 2283, 589, 589, 2011,
-4418, -4418, -4418, 272, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 58105, -4418,
-4418, -4418, 66889, -58, 66889, 3520, 4004, 4006, 1613, 291,
66889, 3522, 3658, 3683, 49321, 9314, -4418, -4418, -4418, 3910,
2076, 148, 64693, -4418, -4418, 66889, -4418, -4418, 3299, 3526,
-4418, 2845, -4418, -4418, -4418, -4418, 51517, 589, -4418, 3716,
-4418, 66889, 3526, -4418, -4418, 237, -4418, 3645, 3719, 589,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
9314, 64693, 3532, -4418, 389, -4418, -4418, -4418, -4418, 64693,
3695, 3698, -4418, 66889, 64693, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 66889,
-4418, -4418, 55177, 56641, -4418, 4120, 2891, 5977, -4418, -4418,
-4418, 2938, -4418, -4418, -4418, 183, 3914, 1015, 336, 245,
-4418, 3838, -4418, -4418, 2077, 3912, 3913, 3539, -4418, 3544,
-4418, 3541, -4418, 62497, 2331, 3548, 2283, 589, 2283, 2283,
589, 589, 2283, 2283, 589, 589, 589, 589, 589, 589,
589, 589, 2283, 2283, 589, 2510, 589, 2283, 589, 589,
2283, 57373, 5321, -4418, 3549, 3549, 3550, 3550, 3554, 3554,
3555, 3610, -4418, -4418, 159, 3567, 3572, 3521, 58105, 3570,
-4418, 4088, 1015, 1015, 1015, 1015, -4418, 340, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 183,
1363, 58105, 73477, -4418, 2937, -170, -4418, -4418, -4418, -4418,
-4418, 66889, 1292, -4418, 66889, -4418, 36862, -4418, -4418, -4418,
-4418, 224, 1643, -4418, -4418, 1089, -4418, 153, 3834, -4418,
-4418, 1420, 3584, -4418, -4418, 971, -4418, -4418, -4418, -4418,
-4418, 21408, 334, 21408, 3516, 21408, 2121, 11619, -4418, 1285,
3516, 43459, -4418, -4418, 4031, 4305, -4418, -4418, 3776, -4418,
-4418, -4418, 3033, -4418, -4418, 115, 4160, 3582, -4418, -4418,
-4418, -4418, -4418, 41989, -4418, 1429, 3583, 44194, 52981, 3948,
2919, 19902, -4418, 2780, 66889, 1613, 4091, 824, 3693, 4055,
-4418, -4418, -4418, 2331, -4418, 52981, -4418, -4418, -4418, 66889,
66889, -4418, -4418, 34666, -4418, -4418, -4418, -4418, 3590, -4418,
-4418, 4182, -4418, 4146, 41989, 3027, 52981, 16137, 3102, 3593,
3596, 3598, 3600, 3602, 3605, 25137, 25137, 4090, 4100, -4418,
3968, 125, 3968, -4418, 37594, 25137, 25137, 2834, 2077, 4313,
4147, 3952, 2731, 2731, 2731, 3393, 3393, -4418, 4260, -4418,
-4418, -4418, -4418, -4418, -4418, 344, -4418, 10113, -4418, -4418,
1678, -4418, 401, -4418, 52981, -4418, 3996, -4418, -4418, -4418,
-4418, -4418, 259, 259, -4418, -4418, -4418, 2283, -4418, 16890,
1825, 3230, -4418, -4418, -4418, -4418, -4418, 16137, 2331, 2626,
-4418, 3622, 3622, 3624, -4418, 3625, 3957, 3622, -4418, 4315,
-4418, -4418, 4132, 3624, 4133, 3622, -4418, 3661, 3636, 3639,
3640, 3230, -4418, 3230, 16137, 16137, 1868, 425, 1891, 4336,
3896, 1309, 1367, 473, -4418, 1928, 3702, 3230, -4418, 3230,
-4418, 1935, 1976, 2041, 2062, 1399, 2072, 2027, -4418, -4418,
16890, 2074, 286, 487, 3230, -4418, 2082, 1470, 1532, 2087,
16137, 2093, 16137, 2097, 16137, 2104, 2108, -4418, -4418, 2124,
3648, 3648, 3649, 3643, -4418, 66889, -4418, -4418, -4418, -4418,
3705, 3713, 3230, 3652, 3652, 91, 3230, 91, 132, -4418,
-4418, 66889, -4418, -4418, -4418, -4418, 3660, -4418, -4418, 66889,
2507, 66889, 3227, -4418, 4350, 3663, 21408, 4247, 3666, 4193,
-4418, 3445, 3393, 2900, -67, -4418, 470, 1438, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 1715, 4319, 3277, 4178,
-4418, -4418, 589, 4265, -4418, -4418, 1417, 4149, -4418, 3676,
-4418, -4418, -4418, 25137, 3421, 42724, 1025, -4418, -4418, 3674,
66889, 589, -4418, -4418, -4418, 4320, -4418, 4321, 314, 4268,
-4418, -4418, 371, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, 2591, -4418, 3686, 2845, 4035,
3689, 16137, 66889, -4418, -4418, -4418, 3708, -4418, -4418, 3691,
40522, 1079, 1079, 2032, -4418, -4418, -4418, 9314, -4418, 3622,
3622, 3622, -4418, -4418, 263, 3624, -4418, -4418, 3700, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, 358, 530, -4418,
-4418, 358, -4418, -4418, -4418, 202, 1873, -4418, -4418, -4418,
-4418, -4418, 3703, -4418, 3622, 3624, 3624, -4418, -4418, 358,
3622, -4418, 3622, 4009, 3295, -4418, 131, 3622, 3622, 3622,
3704, 3625, -4418, -4418, -4418, -4418, 4332, 4335, -4418, 9314,
-4418, 66889, -4418, 3391, 3391, -4418, -4418, -4418, -4418, 3903,
-4418, -4418, 1255, -4418, 66889, -4418, -4418, 66889, 66889, 47,
96, 3721, -4418, -4418, -4418, 3732, -56, -4418, -46, -4418,
-4418, 3592, 905, 1501, 3892, 2079, -4418, 66889, 66889, -4418,
-4418, 66157, -4418, 2283, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, 35398, -4418, -4418, 36130, -4418, -4418, 707,
-4418, -4418, 2013, -4418, -4418, 40522, 1015, 1015, -4418, 372,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 4077,
40522, 1036, 66889, 589, 3756, 3756, 2845, 3052, -4418, 4062,
-4418, 2324, 2731, 325, -4418, -4418, 2986, 3733, -4418, -4418,
66889, 2042, -4418, -4418, 6488, -4418, 1420, 4096, 66889, -4418,
-4418, -4418, -4418, 3962, -4418, -4418, -4418, -4418, 4102, -4418,
-4418, 16137, 1134, 165, 21408, 512, 21408, -4418, -4418, -4418,
-4418, -4418, -4418, 4051, -4418, 4492, 33200, 3902, 4280, -4418,
-4418, -4418, -4418, 1516, -4418, -4418, 2325, 2331, 2084, -4418,
66889, 4113, 4113, -4418, 1613, 4091, 4223, -4418, 4249, -4418,
-4418, -4418, -4418, 3744, 3526, 3745, -4418, 1015, 1880, 2086,
-4418, -4418, -4418, 3742, 19902, 3750, -4418, 26603, 52981, 4300,
3027, 1541, 2077, 25137, -4418, -4418, -4418, -4418, -4418, 2999,
3741, 3751, 3754, 2999, -4418, -4418, -4418, 4242, -4418, 3968,
3968, 4243, 4244, -4418, 2734, 3517, 468, -4418, 16137, 16137,
3806, 4147, 3445, 3445, 4101, 2845, -4418, -4418, 2919, -4418,
-4418, 3027, -4418, 2919, 3171, 90, -4418, 3839, -4418, -4418,
2331, 16137, 1155, -4418, -4418, 358, 4135, -4418, 1362, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, 3757, -4418, -4418, -4418, -4418, -4418, 3839, 3839,
-4418, -4418, 16137, -4418, 16137, 238, 3761, 16137, 16137, -4418,
16137, -4418, 1222, 3764, 3877, -4418, -4418, -4418, -4418, -4418,
-4418, 16137, -4418, -4418, 3839, -4418, 16137, -4418, -4418, 16137,
-4418, -4418, 16137, 16137, -4418, 2190, -4418, 2233, -4418, 2268,
-4418, -4418, -4418, 2845, 3766, 3767, 2283, 3230, -4418, 3768,
4117, -4418, -4418, -4418, 16137, -4418, -4418, 3230, -4418, 3230,
4322, -4418, -4418, 2091, -4418, -4418, 2098, -4418, 4245, 4035,
-4418, 3248, 2845, 66889, 4473, -4418, 3445, 3445, 2900, -4418,
-4418, -4418, 3445, 4119, 642, -4418, 2845, -4418, 117, -4418,
-4418, 3575, -4418, 589, 4481, 4483, 4379, 4485, 1417, -4418,
1067, -4418, 1025, 3171, 1479, -4418, 3792, -4418, 1183, -4418,
-4418, -4418, -4418, -4418, -4418, 1572, -4418, 40522, -4418, 66889,
2127, -4418, 40522, 2270, 3788, -4418, 40522, 16137, -4418, 2136,
-4418, 146, -4418, -4418, -4418, 49321, 4009, -4418, -4418, -4418,
4502, 391, -4418, 4504, -4418, 358, 56641, -4418, -4418, -4418,
-4418, 238, -4418, -107, -4418, 358, -4418, -4418, 3923, -4418,
-4418, -4418, 238, 358, -4418, -4418, -4418, -4418, 1205, 66889,
1255, -4418, -4418, 55177, 320, 589, 3304, 3812, -4418, 3944,
-4418, 4419, 1702, 4291, 3521, 4497, -4418, -4418, 3777, -4418,
4353, 4299, -38, -4418, 4532, -4418, 358, 4532, 1205, 4196,
-4418, 1205, 1205, -4418, 3460, 1255, -4418, -4418, -4418, 66889,
66889, -4418, -4418, -4418, -4418, -4418, 3822, -4418, -4418, 4198,
3914, -4418, 4199, -4418, -4418, 4157, -4418, 16137, 16137, 4197,
66889, 4201, -4418, 4500, 4553, 3526, 1538, -4418, 2168, -4418,
-4418, -4418, 2177, -4418, -4418, -4418, 2222, -4418, -4418, 3827,
-4418, 2238, -4418, -4418, -4418, 66889, -4418, 2251, 2265, 3756,
3756, 2456, 1036, 3840, 2272, 589, 589, 589, 589, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 470, 1444, -4418, 3311,
40522, 3842, 5447, -4418, 4069, 4098, 3846, 3847, -4418, 9314,
589, 178, 66889, 2281, -4418, -4418, -4418, 16137, 1134, 4412,
4304, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 52981, 4208, 4387, 4578,
3171, 19902, -45, 4454, -4418, -4418, -4418, -4418, 4036, -4418,
66889, 19902, -4418, -4418, 1880, 66889, 41254, 3854, 3855, 3590,
-4418, 3027, 52981, 589, -4418, 264, -4418, -4418, 4349, 4351,
-4418, -4418, 16137, 3862, 16137, 3865, -4418, -4418, 1613, 1613,
-4418, 468, -4418, -4418, 2331, -217, -4418, 2331, 66889, -4418,
3806, -4418, -4418, -4418, -4418, -4418, 3321, -4418, -4418, 1336,
2331, 3866, 3872, 3876, 3880, -4418, 3884, 2295, -4418, 3885,
3887, 2274, 3863, -4418, -4418, 3230, 2314, 1543, 2321, 4275,
4354, -4418, 4192, -4418, 2367, 1512, 2381, 2383, 2513, 2518,
-4418, -4418, -4418, -4418, -4418, -4418, 3889, -4418, -4418, 4575,
4238, 2331, -4418, -4418, 276, 91, -4418, 66889, -4418, 1820,
2330, -4418, -4418, 3897, 3899, 589, -4418, -4418, 3445, -4418,
3445, 2900, -4418, 4507, -4418, -4418, -4418, 4510, -4418, 238,
238, 4587, 238, -4418, 4592, 4593, 1067, -4418, -4418, 4256,
4256, -4418, 2360, 4025, -4418, 4035, 2368, -4418, 66889, 2371,
2537, 1027, 40522, 4276, -4418, -4418, -4418, -4418, -4418, -4418,
56641, -4418, -4418, 4532, 2404, -4418, -4418, -4418, 2406, -4418,
-4418, -4418, -4418, -4418, 1205, -4418, 3906, -4418, 408, -4418,
-4418, -4418, -4418, -4418, 3558, 3559, 3565, 2510, 2510, 16137,
-4418, -4418, -4418, -4418, 4282, 4027, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, 55177, -4418, 4636, 4634, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 3905, -4418, -4418, 16137, -4418, -4418,
1968, -4418, 4035, -4418, -4418, -4418, -4418, 2331, 3839, 4576,
-4418, -4418, 4145, 589, 4516, 1292, 4287, -4418, -4418, 2283,
-4418, 66889, -4418, 66889, 66889, -4418, 589, 3909, -4418, 3924,
686, -4418, -4418, -4418, 2591, 185, -4418, -4418, -4418, 4438,
-4418, 4264, -4418, 336, 2464, -4418, -4418, 589, 1501, -4418,
66889, 3391, -4418, -4418, -4418, -4418, 3929, 3932, -4418, 66889,
4476, -4418, 2466, -4418, -4418, 1516, -4418, 4286, 52981, -4418,
2919, -4418, -4418, 4416, 66889, -4418, -4418, -4418, -4418, -4418,
3933, -4418, -4418, 3027, 4607, -4418, -4418, -4418, 2331, 66889,
2331, 66889, 4488, 4488, -4418, -4418, 16137, -4418, 4665, 3936,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 4323,
-4418, -4418, -4418, 16137, -4418, -4418, 16137, -4418, -4418, 4346,
4519, -4418, -4418, -4418, -4418, -4418, -4418, 3946, 2283, 16137,
4645, 755, -4418, -4418, 3230, -4418, 3951, 4200, -4418, -4418,
963, -4418, -4418, 3445, -4418, -4418, -4418, -4418, 238, -4418,
238, 238, -4418, 4424, 4424, 686, 1640, 4012, -4418, 185,
2467, -4418, 1027, 389, 589, 1015, -4418, 1027, -4418, -4418,
-4418, -4418, -4418, 3953, -4418, -4418, 358, 238, 358, -4418,
66889, 4384, -4418, -4418, 2545, -4418, -4418, -4418, -4418, 3956,
2550, -4418, -4418, 2472, -4418, -4418, -4418, -4418, -4418, 4068,
-4418, 4032, -4418, -4418, -4418, -4418, -4418, 66889, 66889, 4311,
363, 686, -4418, -4418, 2475, 363, 185, -4418, -4418, 4663,
-4418, -4418, 1027, -4418, 4197, 4240, -4418, -4418, -4418, 1545,
9314, 4569, -4418, 4578, -4418, 4083, -4418, 4112, 3421, 3971,
3973, 3976, 3977, 1562, 3979, 3980, -4418, 3981, 66889, 3983,
-4418, 2579, -4418, -4418, -4418, 3985, 3978, 16137, -4418, -4418,
-4418, -4418, 2684, -4418, 21408, 3987, 4594, 1112, -4418, -4418,
-4418, -4418, -4418, -4418, 50785, -4418, -4418, -4418, 3988, 4163,
1015, 4603, 4604, 1015, 1015, 1015, 1015, 3993, 4012, -4418,
4584, -4418, 4009, 66889, -4418, -4418, -4418, 2283, -4418, 389,
-4418, -4418, -4418, 2482, -4418, 1095, 4366, -4418, 16137, -4418,
-4418, 4207, -4418, 80065, 1580, -4418, -4418, 3997, 3994, 258,
-4418, -4418, -4418, -4418, -4418, 3521, 363, 2079, -4418, 9314,
-4418, -4418, 3391, 4266, -4418, 4095, -4418, 66889, 2414, 68353,
3139, -4418, -4418, 4703, -4418, 4704, 66157, 66157, -4418, -4418,
-4418, -4418, -4418, 3250, 1449, 4269, 16137, 4063, 4075, -4418,
-4418, 4065, 4067, 3363, 66889, 1015, 4221, -4418, -4418, 4014,
-4418, -4418, 22, 589, 1015, 1015, 3521, 3521, 2845, 66889,
4209, -4418, -4418, 1015, -4418, -4418, -4418, -4418, -4418, 66889,
-4418, -4418, -4418, 262, -4418, 2596, 16137, 4615, 4137, 66889,
221, -4418, 81529, 81529, 66889, -4418, -4418, -4418, -4418, 7401,
-4418, -4418, 961, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 4740, -4418, 4020, -4418, -4418, -4418,
-4418, 4712, 4392, 4714, -4418, 66889, -4418, -4418, -4418, 4500,
3391, 4110, -4418, 860, 71281, 3745, 4302, 4084, 2506, -4418,
9003, -4418, -4418, -4418, 4037, 2511, 16137, -203, -4418, 4766,
1158, 1457, -4418, 3839, -4418, 155, -4418, -4418, -4418, 4234,
2544, 3032, -4418, -4418, 2549, -4418, 20655, -4418, -4418, -4418,
-4418, 589, 589, -4418, -4418, -4418, -4418, 58105, 2551, -4418,
58105, -4418, 1368, 1368, 1596, 2331, 16137, -4418, 16137, 4156,
-4418, -4418, 4595, 66889, -4418, -4418, -4418, -4418, 16137, -4418,
80065, 80065, -4418, -4418, -4418, -4418, 4759, 4408, -4418, 4410,
4052, 4660, -4418, -4418, -4418, -4418, 4670, 80065, -4418, -4418,
58105, -4418, 2820, -4418, -4418, 2731, 4581, 4172, 589, -4418,
68353, 4104, 3391, -4418, -4418, 3839, -4418, 1449, -4418, -4418,
4118, 4327, -4418, 4124, -4418, 2845, -4418, 4234, 4352, -4418,
4014, -4418, 2557, -4418, 3516, -4418, -4418, 4012, -4418, 4209,
-4418, -4418, 4808, -4418, 1358, 4441, 4442, -4418, -4418, 3777,
2331, 2331, -4418, 171, -4418, -4418, 4570, 4668, 16137, 2331,
76405, 4072, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, 80797, 16137, -4418, 961, 4740,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 80065, -4418,
4776, 4149, 4607, -4418, -4418, 4656, 1647, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, 20655, -4418, -4418, -4418,
-4418, -4418, 4220, 4700, -4418, 4202, 16137, 80065, -4418, 4678,
-4418, 4605, 2331, 4541, 4086, -4418, 4085, 2331, 4715, 81529,
81529, -4418, 4110, -4418, 238, 4610, -4418, -4418, 4139, -4418,
-4418, 1368, 1368, -4418, 315, -4418, 2331, 77137, 4784, 66889,
-4418, 4270, -4418, -4418, 16137, 4701, 58837, 77869, 4097, -4418,
-4418, -4418, 80065, -4418, 4477, 4103, 589, -4418, -4418, 16137,
-4418, 4692, 4274, -4418, 4099, -4418, 80065, 2331, 80065, -4418,
-4418, 4638, 8744, 1920, -4418, 4105, -4418, -4418, 920, 32467,
4356, 1499, 2331, 4800, 80065, 66889, 74209, 4705, 78601, 4661,
66889, 3391, 4664, 4666, -4418, -4418, -4418, -4418, -4418, 58105,
2564, -4418, -4418, 66889, -4418, 589, -4418, -4418, -4418, 1499,
1499, 4486, 4290, -4418, 74941, -4418, 2668, 4411, 4231, -4418,
-4418, 4743, 2477, -4418, -4418, -4418, 33933, 4116, -4418, 1015,
-4418, -4418, 4493, -4418, 4494, 120, 80065, 80065, -4418, -4418,
-4418, -4418, 47125, 16137, -4418, -4418, -4418, -4418, 1238, -4418,
66889, 19902, 4708, 4174, -4418, -4418, 75673, 79333, -4418, -4418,
-4418, 25871, -4418, -4418, -4418, 4679, -4418, 2331, -4418, -4418,
-4418, 47125, -4418, -4418, -4418
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
1840, 2853, 1161, 2805, 0, 0, 0, 0, 0, 0,
2807, 2853, 107, 1958, 1959, 1765, 1789, 7, 0, 1161,
352, 0, 0, 119, 0, 1803, 0, 2012, 0, 0,
1161, 0, 2006, 0, 0, 1161, 1845, 1991, 329, 0,
2807, 0, 1218, 0, 1875, 2667, 0, 0, 0, 1858,
0, 2664, 0, 0, 0, 0, 0, 0, 0, 0,
2668, 0, 0, 2, 8, 13, 42, 0, 79, 62,
69, 31, 41, 39, 38, 36, 40, 37, 30, 95,
86, 65, 25, 15, 20, 17, 27, 16, 19, 23,
24, 22, 26, 21, 0, 66, 98, 1123, 99, 33,
83, 28, 29, 32, 76, 82, 77, 78, 91, 1191,
1189, 1710, 1190, 1201, 1208, 1841, 45, 58, 49, 46,
48, 52, 51, 60, 61, 47, 59, 56, 57, 50,
54, 55, 53, 71, 84, 103, 0, 43, 100, 96,
44, 63, 1960, 64, 85, 80, 73, 104, 74, 92,
94, 93, 75, 102, 97, 87, 18, 68, 88, 67,
14, 35, 89, 90, 81, 105, 72, 101, 70, 34,
0, 996, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1787, 0, 940, 2851, 2852, 2853, 1163, 1162, 0,
2807, 2109, 1148, 0, 2193, 2192, 2195, 2197, 2198, 2199,
2200, 2201, 2202, 2145, 2203, 2204, 2205, 2206, 2207, 2208,
2146, 2209, 2210, 2211, 2212, 2213, 2214, 2147, 2148, 2216,
2217, 2218, 2219, 2220, 2149, 2150, 2221, 2222, 2223, 2224,
2225, 2226, 2227, 2228, 2229, 2230, 2152, 2231, 2153, 2232,
2233, 2235, 2236, 2266, 2237, 2238, 2239, 2240, 2241, 2242,
2154, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251,
2155, 2252, 2253, 2255, 2257, 2258, 2259, 2260, 2261, 2156,
2262, 2263, 2264, 2265, 2157, 2267, 2269, 2270, 2271, 2273,
2272, 2274, 2275, 2183, 2276, 2277, 2142, 2279, 2280, 2281,
2282, 2283, 2284, 2285, 2184, 2286, 2287, 2288, 2289, 2158,
2159, 2291, 2292, 2293, 2294, 2300, 2295, 2296, 2297, 2566,
2299, 2160, 2301, 2161, 2305, 2304, 2306, 2105, 2307, 2106,
2308, 2162, 2310, 2311, 2312, 2313, 2163, 2315, 2316, 2317,
2318, 2319, 2320, 2321, 2164, 2322, 2323, 2324, 2325, 2326,
2327, 2567, 2329, 2330, 2331, 2332, 2334, 2335, 2337, 2339,
2340, 2341, 2342, 2344, 2345, 2346, 2355, 2347, 2348, 2349,
2351, 2350, 2352, 2353, 2354, 2356, 2336, 2358, 2359, 2360,
2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370,
2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380,
2381, 2382, 2383, 2384, 2386, 2387, 2388, 2389, 2185, 2165,
2391, 2393, 2394, 2395, 2398, 2399, 2400, 2402, 2406, 2407,
2408, 2409, 2410, 2412, 2411, 2413, 2415, 2417, 2418, 2416,
2419, 2420, 2421, 2166, 2167, 2423, 2424, 2425, 2186, 2427,
2429, 2428, 2187, 2430, 2431, 2432, 2434, 2435, 2436, 2437,
2438, 2440, 2441, 2442, 2443, 2444, 2188, 2445, 2446, 2168,
2447, 2189, 2448, 2450, 2449, 2451, 2453, 2454, 2452, 2169,
2455, 2457, 2458, 2460, 2461, 2463, 2170, 2465, 2466, 2467,
2469, 2468, 2470, 2171, 2471, 2472, 2477, 2478, 2479, 2480,
2570, 2481, 2482, 2144, 2172, 2483, 2173, 2485, 2486, 2487,
2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2498,
2499, 2174, 2500, 2501, 2502, 2503, 2175, 2504, 2505, 2506,
2507, 2508, 2509, 2510, 2191, 2511, 2512, 2513, 2514, 2515,
2516, 2517, 2518, 2519, 2520, 2521, 2526, 2524, 2525, 2527,
2528, 2529, 2176, 2530, 2531, 2533, 2534, 2535, 2536, 2177,
2178, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2546,
2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2179, 2556,
2557, 2558, 2568, 2464, 2196, 2314, 2547, 2234, 2484, 2328,
2390, 2569, 2302, 2215, 2151, 2278, 2290, 2392, 2405, 2422,
2456, 2523, 2532, 2385, 2403, 2414, 2303, 2462, 2497, 2522,
2190, 2545, 2343, 2298, 2143, 2254, 2256, 2404, 2439, 2194,
2309, 2401, 2475, 2473, 2474, 2476, 2459, 2397, 2268, 2396,
2338, 2433, 2333, 2357, 2426, 283, 2116, 265, 2117, 2138,
2139, 2140, 2137, 2141, 0, 0, 2656, 2655, 0, 0,
2808, 2809, 610, 0, 0, 0, 0, 0, 0, 1790,
0, 883, 610, 610, 0, 0, 0, 203, 2836, 2836,
2853, 2855, 2857, 0, 1787, 1787, 1787, 0, 0, 1787,
1787, 0, 0, 1787, 0, 1787, 1787, 1787, 0, 0,
112, 1966, 353, 354, 0, 2704, 2717, 2718, 2714, 2719,
2737, 2720, 2724, 0, 2716, 2785, 2129, 0, 2723, 0,
2785, 2721, 0, 2785, 0, 2722, 2727, 2738, 2785, 2715,
2118, 2128, 2127, 2785, 2560, 2559, 2119, 2561, 0, 2706,
0, 2101, 0, 0, 1805, 1806, 1804, 1081, 0, 0,
2013, 2014, 0, 2017, 0, 2018, 2021, 0, 2652, 0,
0, 0, 0, 0, 1164, 0, 1808, 1846, 1809, 1807,
1787, 0, 319, 328, 330, 331, 327, 2704, 0, 0,
2809, 2820, 2835, 2830, 2829, 2832, 2833, 2834, 1223, 2831,
2828, 0, 1219, 1221, 1222, 820, 0, 0, 2601, 2604,
2380, 2413, 2605, 2528, 2602, 2464, 2603, 2190, 0, 0,
2122, 2628, 2563, 2564, 2565, 2562, 2123, 2571, 0, 2595,
0, 1935, 331, 1093, 1117, 1101, 1094, 1117, 1859, 0,
0, 0, 2666, 0, 2015, 0, 1687, 1690, 1692, 2901,
0, 0, 0, 2896, 0, 2902, 0, 2195, 2145, 2207,
0, 2078, 0, 0, 0, 1562, 0, 2149, 0, 2225,
2227, 0, 0, 1248, 1248, 770, 0, 0, 0, 2250,
2251, 2084, 0, 0, 0, 2075, 2085, 2291, 2295, 2297,
0, 2077, 2306, 0, 0, 0, 0, 2326, 2082, 0,
0, 2368, 2370, 0, 0, 2374, 2375, 2376, 2377, 2061,
1307, 770, 2074, 2081, 2067, 2419, 2420, 0, 2430, 0,
0, 2463, 0, 0, 2468, 2477, 0, 0, 2507, 0,
0, 770, 2060, 2526, 2524, 2525, 2527, 0, 2076, 2176,
2083, 0, 2540, 1248, 770, 770, 0, 0, 0, 2550,
2551, 2558, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1306, 0, 1387, 2827, 0, 0, 1299, 1318, 1319,
1321, 1423, 1320, 1326, 1444, 1327, 1445, 1325, 2071, 1324,
1323, 2072, 2073, 1317, 2096, 2116, 2095, 1333, 2825, 0,
0, 0, 0, 0, 2826, 0, 0, 0, 0, 0,
0, 1, 10, 0, 0, 1248, 2126, 2540, 0, 2125,
2124, 2130, 2132, 2762, 2783, 2789, 0, 1095, 1109, 0,
1193, 0, 2822, 1719, 1711, 0, 2822, 1719, 1224, 1710,
1224, 1852, 1845, 1962, 2291, 1840, 1963, 2101, 0, 932,
997, 0, 936, 0, 0, 2669, 0, 934, 0, 1929,
1004, 0, 0, 961, 0, 0, 2862, 938, 0, 2806,
0, 1174, 1185, 1554, 282, 0, 121, 123, 1131, 1783,
1150, 0, 2812, 0, 0, 0, 0, 2858, 0, 0,
0, 465, 0, 0, 0, 0, 0, 610, 2862, 2862,
2836, 2856, 0, 1240, 1764, 1239, 1243, 1260, 1265, 1282,
1241, 2095, 0, 0, 0, 0, 0, 0, 0, 0,
1791, 0, 0, 0, 0, 0, 0, 1787, 114, 0,
0, 2705, 2697, 2735, 2734, 2739, 0, 2736, 2732, 2740,
2741, 2725, 0, 2711, 2729, 0, 2713, 2731, 2730, 2710,
2726, 2733, 2712, 0, 2708, 2700, 0, 0, 1676, 2674,
0, 0, 120, 0, 1082, 1809, 0, 2915, 2912, 2011,
0, 2022, 2023, 2019, 0, 0, 0, 0, 1928, 1927,
0, 2007, 2821, 1166, 0, 0, 0, 1810, 0, 0,
1993, 2000, 1998, 1992, 1995, 320, 0, 0, 350, 2691,
0, 0, 2700, 2815, 2812, 1211, 1220, 819, 0, 0,
822, 2627, 1826, 1827, 831, 0, 821, 0, 0, 0,
0, 0, 2573, 2637, 2634, 2633, 2586, 2581, 2580, 2134,
2758, 2579, 0, 2614, 0, 826, 828, 827, 2624, 825,
0, 0, 2528, 2574, 2595, 0, 0, 2572, 0, 0,
820, 1947, 0, 0, 1947, 0, 1719, 1931, 1936, 1934,
0, 2607, 1907, 2608, 1927, 0, 1883, 1906, 0, 1860,
1899, 0, 2609, 0, 1930, 0, 1719, 1947, 1876, 0,
0, 0, 0, 0, 0, 326, 1122, 1121, 1097, 1118,
1119, 0, 0, 1100, 1102, 1103, 193, 1857, 2913, 2914,
2665, 1688, 0, 0, 0, 2066, 2065, 2110, 2898, 2064,
2906, 2908, 2892, 0, 2895, 2894, 2903, 0, 0, 1680,
1340, 1680, 1680, 1680, 1563, 0, 0, 0, 0, 0,
0, 0, 1680, 0, 1381, 1354, 0, 1382, 0, 0,
0, 2086, 0, 0, 0, 1337, 0, 0, 1554, 0,
1531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558, 1560, 2095, 1680, 0, 0, 1680, 0, 0, 0,
0, 0, 816, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1680, 1680, 0, 0, 1680, 1395,
2088, 0, 0, 0, 2087, 0, 0, 0, 2080, 2079,
2062, 0, 1398, 1400, 1399, 0, 1680, 1680, 0, 0,
0, 1680, 1680, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1330, 1329, 1331, 0, 2827,
0, 2610, 1527, 1529, 0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1332, 0,
0, 2063, 0, 0, 1439, 0, 0, 551, 4, 6,
0, 0, 1192, 1207, 1206, 11, 106, 2133, 0, 0,
0, 0, 0, 0, 0, 2780, 0, 0, 979, 0,
0, 0, 0, 0, 1129, 0, 1125, 1124, 0, 1098,
1111, 2262, 0, 0, 1763, 1757, 1760, 1759, 0, 2824,
2823, 0, 1224, 1720, 1728, 1729, 1727, 1721, 1722, 1726,
1725, 0, 1224, 0, 0, 1198, 1225, 1227, 1719, 1200,
1719, 1224, 1856, 1855, 1854, 0, 1852, 1081, 0, 0,
1952, 1953, 1954, 1955, 1956, 1951, 1950, 1964, 1965, 2860,
2861, 2859, 833, 2854, 266, 2671, 0, 0, 266, 0,
0, 1828, 1828, 0, 1828, 1828, 531, 0, 530, 616,
485, 487, 488, 489, 490, 491, 492, 0, 1079, 1828,
1079, 0, 1828, 1828, 1079, 1828, 0, 0, 1828, 1828,
1828, 1828, 0, 0, 834, 1828, 0, 0, 1079, 0,
1828, 0, 1063, 0, 0, 1828, 1828, 1828, 1828, 1828,
1079, 0, 0, 1828, 1828, 0, 1089, 0, 0, 1828,
1828, 1828, 1828, 0, 1828, 1828, 0, 1828, 0, 0,
1828, 1026, 1027, 1037, 612, 639, 640, 0, 930, 931,
998, 1000, 1067, 1006, 1005, 1034, 1039, 1065, 1066, 0,
1788, 2927, 942, 0, 0, 941, 2862, 1145, 0, 0,
876, 875, 0, 0, 1185, 1176, 1556, 0, 1555, 264,
0, 0, 1133, 1132, 0, 1130, 1158, 1157, 1155, 0,
1156, 1154, 1149, 1151, 1152, 2811, 0, 0, 2813, 2817,
1305, 1304, 0, 201, 0, 0, 0, 0, 0, 610,
0, 467, 0, 2770, 2781, 216, 199, 0, 907, 0,
0, 610, 0, 0, 0, 2850, 2838, 2845, 2846, 2849,
2848, 2847, 0, 2844, 2837, 2840, 2841, 2843, 2842, 2862,
1253, 0, 1303, 1302, 0, 1301, 1300, 2115, 0, 1242,
0, 0, 1247, 1246, 1308, 1309, 1310, 1311, 0, 1312,
1313, 1314, 0, 0, 0, 0, 0, 0, 1284, 0,
0, 1768, 1775, 1770, 0, 1791, 1772, 1780, 1787, 1795,
1796, 1777, 616, 1793, 1776, 493, 2756, 1773, 1083, 1782,
2940, 0, 0, 113, 0, 0, 0, 0, 1983, 1985,
1988, 1984, 0, 1987, 0, 1986, 1967, 1970, 1976, 1989,
0, 0, 351, 355, 357, 0, 360, 0, 2728, 2787,
0, 0, 2709, 2702, 2703, 2701, 0, 2742, 2707, 1677,
0, 2673, 2288, 2388, 0, 1682, 2102, 2917, 0, 0,
0, 0, 2020, 0, 2654, 1676, 2653, 2657, 1160, 0,
109, 110, 0, 0, 0, 1165, 1169, 0, 1135, 1592,
1997, 2004, 2002, 0, 318, 343, 338, 346, 340, 342,
341, 347, 348, 349, 344, 339, 345, 332, 0, 0,
0, 0, 2689, 0, 2816, 0, 2818, 0, 1682, 1212,
1211, 0, 0, 0, 2630, 0, 2626, 2625, 0, 958,
2112, 958, 0, 2639, 2640, 0, 2631, 0, 2632, 0,
2585, 0, 0, 2588, 0, 0, 0, 0, 0, 0,
0, 2629, 2594, 2593, 0, 2596, 2597, 0, 2600, 2648,
2649, 2646, 2647, 2650, 2651, 2645, 2621, 1943, 0, 0,
1949, 1905, 0, 610, 0, 0, 0, 0, 0, 0,
0, 1877, 0, 0, 1898, 1941, 1942, 1947, 0, 1940,
0, 1947, 0, 1913, 1931, 0, 1947, 1872, 0, 0,
1864, 1869, 1865, 0, 1871, 1870, 1873, 1861, 1862, 1943,
1888, 193, 1931, 1897, 1904, 1887, 1894, 1902, 1931, 881,
880, 879, 0, 0, 1931, 1947, 1947, 0, 1106, 1107,
0, 0, 0, 1096, 1689, 0, 1694, 0, 0, 0,
2893, 2909, 2891, 2897, 2904, 2905, 2890, 0, 0, 1681,
1680, 0, 0, 0, 0, 0, 0, 1564, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1249, 0, 771,
1405, 0, 0, 0, 0, 0, 1652, 1653, 1654, 1655,
1663, 1656, 1657, 1658, 1665, 1670, 1659, 1660, 1666, 1667,
1668, 1661, 1669, 1664, 1662, 1671, 0, 1651, 0, 0,
1675, 1672, 1674, 1673, 0, 1532, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1680, 0,
0, 0, 1680, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1415, 0,
0, 0, 0, 0, 1680, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1377, 0, 2098, 2097, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478, 0, 1478, 0, 0, 0, 0, 0, 1334, 0,
0, 0, 0, 0, 0, 0, 1296, 1297, 1287, 1288,
1285, 1286, 0, 1290, 0, 1289, 1293, 1294, 1295, 1298,
1322, 1328, 1348, 1349, 1243, 0, 1440, 1441, 2099, 0,
552, 0, 0, 555, 0, 0, 1828, 12, 9, 987,
0, 0, 2131, 0, 0, 0, 0, 0, 0, 2793,
2791, 0, 2792, 2790, 2747, 2762, 2784, 0, 962, 0,
0, 0, 0, 0, 0, 0, 0, 193, 0, 1113,
2111, 1762, 823, 1758, 0, 1715, 1712, 1714, 1204, 1202,
1194, 0, 0, 1205, 1203, 1196, 1232, 1231, 1234, 0,
1226, 1224, 1224, 1199, 0, 0, 1785, 1850, 1853, 0,
1961, 0, 833, 605, 608, 607, 609, 0, 937, 0,
0, 0, 935, 0, 0, 483, 1829, 0, 0, 483,
0, 0, 0, 617, 1929, 1828, 1080, 924, 877, 1161,
877, 1043, 0, 924, 0, 0, 0, 0, 0, 1161,
0, 0, 0, 0, 0, 1161, 0, 0, 0, 0,
0, 1828, 0, 1051, 0, 1008, 0, 0, 0, 0,
0, 0, 1052, 0, 0, 0, 1009, 1828, 0, 0,
0, 0, 0, 0, 1161, 0, 0, 0, 1161, 1092,
0, 1091, 1090, 0, 0, 1161, 1161, 0, 0, 0,
0, 645, 646, 0, 0, 0, 0, 1030, 1031, 0,
613, 1828, 1828, 0, 1002, 999, 833, 833, 0, 1828,
2935, 988, 0, 0, 939, 0, 0, 1142, 1178, 1172,
1177, 1175, 1185, 0, 1642, 0, 284, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 193, 153, 182, 0, 0,
0, 0, 0, 0, 0, 193, 125, 1784, 1159, 1153,
2810, 2814, 611, 833, 0, 0, 0, 0, 0, 0,
466, 0, 469, 0, 0, 0, 0, 2789, 1828, 0,
0, 0, 908, 833, 0, 0, 0, 265, 2885, 0,
2839, 1238, 1245, 1244, 1251, 1250, 1252, 1256, 1261, 1254,
1258, 0, 1315, 2202, 1263, 0, 0, 0, 1266, 1276,
1280, 0, 1283, 0, 0, 0, 0, 0, 2091, 2099,
0, 1068, 1779, 0, 1929, 1778, 494, 495, 497, 0,
1085, 1084, 1774, 2941, 1771, 1083, 0, 115, 117, 1981,
1978, 1977, 1979, 193, 1980, 0, 1990, 1968, 2250, 2526,
2527, 364, 0, 336, 335, 337, 361, 0, 0, 2700,
2786, 0, 0, 2751, 2754, 0, 0, 0, 2695, 1679,
2684, 2680, 2685, 2687, 2683, 2686, 2688, 2681, 2682, 1682,
0, 1719, 1683, 1592, 2911, 2916, 1180, 1181, 1185, 0,
0, 0, 111, 0, 0, 2008, 0, 1167, 0, 0,
1140, 1139, 1141, 1134, 1136, 1137, 0, 0, 1593, 0,
2001, 2003, 193, 1994, 0, 0, 0, 2700, 0, 0,
2819, 1214, 0, 0, 0, 0, 1213, 1215, 1216, 1569,
1568, 1599, 1596, 1595, 1598, 1597, 1600, 1592, 1676, 1701,
1682, 0, 0, 0, 830, 832, 829, 0, 0, 0,
2760, 2760, 0, 0, 2644, 2636, 2638, 2635, 2587, 2135,
2759, 0, 2617, 2618, 2619, 2615, 2616, 0, 2622, 2620,
0, 2599, 0, 1945, 1948, 1684, 0, 0, 1922, 1916,
1915, 1911, 1917, 1923, 1912, 1926, 1925, 1924, 1885, 1884,
1880, 1932, 1921, 1919, 1908, 1947, 1920, 1918, 1866, 1867,
1868, 0, 1719, 0, 1945, 1914, 1947, 1947, 0, 0,
1947, 1901, 1903, 1120, 1105, 1104, 0, 1693, 0, 1691,
2899, 2907, 0, 0, 1401, 0, 1489, 1539, 1489, 1489,
1489, 0, 0, 0, 0, 0, 1402, 0, 1352, 1403,
1404, 0, 0, 0, 1489, 0, 772, 0, 0, 1355,
1356, 1345, 0, 0, 1424, 0, 1535, 1357, 0, 0,
0, 0, 0, 1425, 1559, 0, 1561, 2099, 0, 1489,
1409, 1362, 0, 1489, 0, 1363, 1426, 1427, 1428, 0,
1430, 0, 1411, 0, 0, 1414, 0, 0, 1365, 1489,
1489, 0, 0, 0, 0, 1489, 1367, 0, 0, 0,
1366, 0, 0, 0, 0, 0, 0, 0, 1369, 0,
1346, 1489, 1489, 1417, 0, 0, 1419, 0, 1378, 1680,
1489, 1526, 0, 1470, 1469, 1483, 0, 0, 1483, 0,
0, 0, 1471, 1468, 1467, 0, 2611, 2612, 2613, 926,
1528, 1338, 0, 0, 1443, 1431, 0, 1554, 0, 0,
0, 0, 0, 0, 0, 557, 0, 553, 0, 0,
954, 958, 0, 955, 956, 957, 2763, 2112, 0, 2760,
2776, 2750, 2749, 2748, 2745, 0, 0, 0, 0, 0,
980, 982, 0, 0, 951, 963, 964, 189, 2107, 1746,
1747, 1745, 1743, 1744, 190, 191, 1736, 1737, 1733, 1734,
1732, 1735, 192, 1128, 1127, 1126, 1110, 1099, 0, 0,
1115, 0, 2028, 1756, 1717, 1718, 2093, 1716, 0, 1724,
1723, 0, 0, 1237, 1234, 1228, 1235, 0, 1195, 1197,
0, 1676, 2101, 0, 0, 0, 2103, 0, 1754, 1755,
1739, 1740, 1738, 1741, 1957, 1742, 1753, 606, 1828, 0,
0, 0, 0, 0, 0, 0, 267, 276, 0, 2670,
0, 509, 0, 0, 0, 0, 0, 0, 0, 0,
221, 516, 945, 616, 1749, 1751, 1748, 1750, 521, 533,
1752, 534, 532, 946, 520, 522, 947, 486, 0, 682,
925, 878, 924, 1010, 924, 0, 0, 0, 877, 685,
924, 0, 904, 925, 681, 0, 1074, 1073, 1075, 683,
0, 0, 0, 628, 623, 0, 634, 1032, 1150, 1033,
1649, 0, 625, 626, 627, 647, 0, 0, 636, 0,
1050, 0, 1013, 1048, 1049, 1083, 618, 0, 0, 0,
661, 662, 660, 641, 648, 1077, 1076, 1078, 621, 622,
0, 0, 1064, 1708, 1715, 650, 629, 649, 624, 0,
0, 0, 1058, 1021, 0, 659, 657, 654, 656, 655,
658, 637, 630, 631, 633, 632, 644, 635, 1020, 1989,
619, 620, 0, 0, 1003, 1079, 1079, 1038, 1035, 1036,
1001, 1007, 1040, 517, 518, 493, 0, 1828, 2937, 0,
990, 992, 2863, 2864, 1692, 0, 0, 0, 1645, 0,
1646, 1643, 1644, 0, 1557, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 122, 0, 0, 0, 0, 0, 0,
0, 0, 124, 202, 833, 0, 498, 0, 0, 0,
211, 0, 1828, 1828, 1828, 1828, 206, 616, 471, 473,
474, 475, 476, 477, 480, 478, 481, 479, 482, 493,
0, 0, 0, 2782, 979, 0, 913, 915, 914, 910,
909, 0, 0, 2027, 0, 2026, 681, 196, 536, 538,
541, 539, 616, 614, 1820, 1821, 543, 0, 0, 230,
2880, 0, 0, 461, 460, 0, 1257, 1262, 1255, 1259,
1264, 0, 0, 0, 1275, 0, 0, 0, 1267, 1278,
1281, 0, 1769, 1767, 1070, 1069, 1781, 1794, 1929, 2757,
1766, 118, 0, 1982, 1975, 1971, 0, 356, 365, 358,
362, 363, 359, 0, 2788, 2796, 0, 0, 0, 0,
1719, 0, 2675, 0, 0, 1185, 1187, 2024, 0, 2660,
2661, 2659, 2658, 2010, 2009, 0, 1170, 1171, 1138, 0,
0, 1823, 1822, 0, 1800, 1802, 1811, 1814, 0, 2005,
1999, 0, 333, 0, 0, 2694, 0, 0, 1676, 0,
1569, 1599, 1596, 1595, 1598, 0, 0, 0, 0, 1582,
1590, 1588, 1590, 1585, 0, 0, 0, 1676, 1692, 0,
1685, 1701, 2584, 2583, 2582, 958, 958, 959, 0, 2576,
2575, 2642, 2641, 2643, 2590, 616, 2589, 0, 2598, 1944,
0, 1889, 0, 1910, 0, 1882, 0, 1900, 1863, 1891,
1881, 1879, 1931, 1931, 1878, 194, 1695, 0, 2910, 0,
0, 1489, 1446, 1490, 1448, 1449, 1452, 0, 1565, 0,
1342, 784, 784, 768, 1547, 764, 756, 762, 1551, 0,
740, 754, 1543, 768, 1545, 784, 1552, 1350, 0, 0,
0, 1489, 1454, 1489, 0, 0, 0, 0, 0, 0,
1533, 0, 0, 0, 1347, 0, 1435, 1489, 1458, 1489,
1456, 0, 0, 0, 0, 0, 0, 0, 1462, 1460,
0, 0, 0, 0, 1489, 1464, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1461, 1463, 0,
0, 0, 0, 0, 1450, 1497, 1491, 1492, 1493, 1494,
0, 0, 0, 1481, 1481, 1483, 0, 1483, 0, 1472,
1335, 0, 1530, 1292, 1291, 1442, 0, 2100, 5, 0,
0, 0, 0, 556, 0, 566, 0, 0, 0, 0,
2918, 2760, 958, 0, 2760, 2773, 0, 0, 2746, 985,
983, 984, 986, 981, 967, 966, 968, 0, 0, 0,
965, 1112, 0, 0, 1108, 824, 0, 2036, 1713, 1233,
1236, 1229, 1230, 0, 1592, 0, 1682, 1786, 1851, 1850,
0, 0, 270, 273, 271, 0, 272, 0, 0, 0,
519, 944, 616, 511, 513, 514, 515, 225, 224, 226,
227, 229, 228, 223, 950, 0, 528, 0, 0, 0,
0, 0, 924, 873, 874, 684, 0, 679, 686, 0,
0, 0, 0, 0, 667, 669, 670, 0, 753, 707,
698, 784, 701, 700, 841, 768, 712, 759, 0, 761,
758, 733, 732, 749, 731, 736, 720, 841, 841, 719,
752, 841, 737, 735, 739, 0, 740, 760, 745, 734,
738, 730, 0, 751, 784, 768, 768, 716, 750, 841,
0, 743, 784, 672, 788, 718, 848, 0, 0, 784,
786, 764, 1057, 912, 911, 1056, 0, 0, 1016, 0,
1017, 0, 1019, 831, 831, 642, 1024, 1047, 1046, 0,
1025, 643, 1086, 1015, 0, 1709, 1014, 0, 0, 0,
1135, 0, 652, 651, 949, 2931, 2928, 2929, 0, 2939,
2938, 2940, 0, 0, 0, 235, 2865, 0, 0, 1184,
1186, 0, 1173, 183, 180, 157, 161, 163, 155, 159,
160, 162, 166, 167, 165, 168, 169, 172, 173, 170,
164, 171, 158, 176, 174, 175, 156, 178, 179, 188,
181, 187, 154, 0, 127, 128, 0, 129, 130, 0,
131, 132, 0, 133, 126, 0, 1828, 1828, 205, 616,
500, 502, 503, 504, 505, 508, 506, 507, 211, 0,
0, 210, 0, 0, 0, 0, 0, 1929, 207, 0,
2764, 2766, 217, 962, 2925, 2926, 2927, 0, 542, 197,
0, 0, 537, 535, 833, 540, 0, 0, 285, 665,
666, 664, 663, 0, 2886, 464, 462, 463, 0, 1273,
1268, 0, 1277, 0, 0, 0, 0, 2092, 1072, 1071,
496, 116, 1973, 0, 1969, 0, 0, 0, 0, 2699,
2753, 2752, 2755, 2794, 2743, 2676, 1836, 1835, 0, 1834,
0, 1837, 1837, 1182, 1185, 1187, 0, 1183, 0, 2025,
2662, 2663, 1168, 0, 1648, 1801, 1843, 0, 0, 0,
1818, 2090, 2089, 2097, 1831, 1819, 1825, 0, 0, 0,
2690, 0, 1692, 0, 1607, 1601, 1603, 1604, 1606, 0,
0, 1569, 1568, 1217, 1584, 1583, 1591, 0, 1589, 1590,
1590, 0, 0, 1578, 1577, 0, 1639, 1608, 0, 0,
1696, 1685, 2760, 2760, 0, 0, 2623, 1946, 1719, 1896,
1895, 1909, 1874, 1719, 1682, 1947, 2900, 0, 1379, 1447,
1566, 0, 0, 785, 1540, 841, 0, 1549, 0, 1550,
766, 765, 757, 755, 1553, 763, 741, 1544, 1548, 1546,
1542, 1351, 0, 1353, 1344, 1343, 1455, 1453, 0, 0,
1385, 1407, 0, 1386, 0, 0, 0, 0, 0, 1359,
0, 1361, 0, 0, 1437, 1459, 1457, 1410, 1429, 1388,
1412, 0, 1364, 1336, 0, 1389, 0, 1394, 1392, 0,
1465, 1368, 0, 0, 1375, 0, 1373, 0, 1374, 0,
1376, 1416, 1418, 0, 0, 0, 0, 1489, 1498, 0,
1499, 1485, 1484, 1475, 0, 1480, 1479, 0, 1476, 0,
1486, 927, 1432, 0, 562, 549, 0, 547, 551, 0,
544, 0, 0, 560, 0, 953, 2760, 2760, 0, 2774,
2114, 2113, 2760, 0, 2760, 971, 0, 970, 976, 973,
972, 0, 1114, 0, 0, 0, 0, 0, 2029, 2031,
0, 1761, 1682, 1682, 2102, 1848, 0, 2104, 1682, 653,
275, 274, 280, 281, 2672, 1929, 222, 0, 1012, 0,
0, 568, 0, 0, 0, 687, 0, 0, 922, 0,
921, 1715, 905, 906, 1042, 681, 672, 706, 699, 717,
835, 846, 844, 838, 742, 841, 0, 842, 843, 703,
715, 0, 726, 0, 721, 841, 729, 725, 741, 744,
746, 748, 0, 841, 714, 713, 723, 710, 773, 0,
1086, 673, 798, 0, 0, 0, 0, 1304, 792, 0,
853, 0, 0, 801, 0, 0, 809, 688, 789, 791,
690, 0, 0, 849, 848, 705, 841, 848, 773, 0,
787, 773, 773, 1055, 0, 1086, 1650, 1062, 1061, 0,
0, 1088, 1045, 1707, 1060, 1059, 0, 1018, 638, 0,
0, 2933, 0, 2936, 960, 0, 245, 0, 0, 989,
0, 238, 236, 247, 0, 1147, 1143, 1647, 0, 184,
186, 134, 0, 136, 138, 143, 0, 145, 2136, 0,
148, 0, 150, 2108, 152, 0, 139, 0, 0, 0,
0, 1929, 209, 0, 0, 0, 0, 0, 0, 468,
527, 523, 529, 526, 472, 2765, 0, 0, 204, 2935,
0, 0, 833, 615, 0, 0, 0, 286, 288, 0,
0, 295, 0, 0, 1272, 1274, 1270, 0, 1279, 0,
0, 373, 368, 376, 370, 372, 371, 377, 378, 379,
380, 374, 369, 375, 367, 366, 0, 0, 0, 2803,
1682, 0, 1837, 0, 1797, 1799, 1179, 1188, 0, 1594,
0, 0, 1812, 1815, 0, 0, 0, 0, 1832, 0,
334, 2693, 0, 0, 1609, 1217, 1570, 1586, 0, 0,
1579, 1587, 0, 0, 0, 0, 1633, 1634, 0, 0,
1637, 1640, 1641, 1605, 2094, 1705, 1704, 1686, 0, 1210,
1696, 2578, 2577, 2761, 2591, 1890, 193, 1893, 1886, 0,
1567, 0, 0, 0, 0, 1541, 0, 0, 1341, 0,
0, 0, 1536, 1538, 1534, 1489, 0, 0, 0, 0,
0, 1339, 0, 1433, 0, 0, 0, 0, 0, 0,
1372, 1370, 1371, 850, 1421, 1420, 0, 1451, 1495, 0,
1501, 1482, 1474, 1473, 0, 1483, 550, 0, 548, 0,
0, 546, 554, 0, 561, 0, 952, 2771, 2760, 2777,
2760, 0, 2778, 0, 977, 978, 975, 0, 1116, 0,
0, 0, 0, 2030, 0, 0, 2037, 2039, 1849, 1710,
1710, 512, 0, 571, 1011, 0, 0, 680, 0, 0,
0, 895, 0, 0, 918, 668, 671, 837, 836, 840,
0, 839, 702, 848, 0, 928, 722, 747, 0, 724,
777, 778, 779, 711, 774, 776, 855, 1041, 804, 810,
812, 811, 805, 803, 0, 0, 0, 0, 0, 0,
817, 795, 818, 2068, 0, 0, 813, 814, 815, 806,
802, 807, 808, 0, 790, 0, 0, 800, 793, 794,
704, 708, 709, 695, 0, 696, 697, 0, 1053, 1044,
1028, 1087, 0, 2932, 2930, 2934, 246, 234, 0, 0,
991, 993, 0, 0, 994, 0, 0, 1146, 177, 0,
135, 0, 144, 0, 0, 149, 0, 0, 140, 0,
884, 525, 524, 501, 0, 890, 212, 213, 215, 0,
2767, 0, 2768, 2937, 0, 198, 195, 0, 0, 2881,
0, 831, 2879, 298, 296, 297, 0, 291, 293, 0,
0, 1269, 0, 1974, 1972, 2794, 2797, 0, 0, 2696,
1719, 1833, 1798, 0, 0, 1842, 1844, 1813, 1816, 1817,
2099, 1830, 1824, 2692, 0, 1602, 1581, 1580, 1573, 0,
1575, 0, 1629, 1629, 1638, 1706, 0, 1702, 0, 1697,
1698, 1209, 1892, 1380, 782, 780, 783, 781, 769, 0,
1383, 1384, 1408, 0, 1466, 1406, 0, 1360, 1434, 0,
0, 1413, 1390, 1393, 1391, 1396, 1397, 0, 0, 0,
0, 1503, 1487, 1488, 0, 563, 0, 553, 567, 545,
2922, 2775, 2779, 2760, 969, 974, 2034, 2035, 0, 2032,
0, 0, 2038, 1730, 1730, 884, 0, 591, 569, 890,
0, 917, 895, 1715, 0, 1828, 674, 896, 897, 899,
900, 903, 920, 0, 847, 845, 841, 0, 841, 775,
0, 859, 2070, 2069, 0, 797, 799, 804, 691, 0,
0, 1023, 1029, 0, 232, 237, 248, 249, 943, 2868,
2866, 0, 185, 137, 146, 147, 151, 0, 0, 0,
1068, 885, 886, 888, 0, 1068, 891, 892, 894, 0,
2769, 200, 895, 2878, 243, 0, 287, 289, 2887, 295,
0, 0, 1271, 2803, 2795, 2798, 2677, 0, 1592, 0,
0, 0, 0, 0, 0, 0, 1703, 0, 0, 0,
1537, 0, 1436, 1438, 851, 0, 1500, 0, 1524, 1523,
1525, 1496, 0, 1477, 0, 0, 0, 0, 2919, 2920,
2772, 2033, 2041, 2040, 0, 1847, 1839, 675, 0, 0,
1828, 0, 0, 1828, 1828, 1828, 1828, 586, 592, 594,
0, 676, 0, 0, 677, 923, 902, 0, 898, 1715,
727, 929, 728, 0, 858, 0, 863, 796, 0, 1054,
1022, 239, 995, 400, 0, 2867, 1144, 0, 0, 0,
219, 887, 208, 220, 893, 0, 1068, 235, 244, 0,
268, 292, 831, 0, 2698, 0, 2804, 0, 823, 0,
1676, 1574, 1576, 0, 1630, 0, 1642, 0, 1700, 1699,
767, 1358, 1422, 1502, 0, 0, 0, 0, 1518, 1505,
1506, 0, 0, 0, 0, 1828, 0, 2923, 1731, 580,
573, 576, 0, 0, 1828, 1828, 0, 0, 0, 0,
0, 570, 593, 1828, 678, 916, 901, 919, 856, 0,
860, 861, 862, 0, 854, 0, 0, 241, 426, 2224,
412, 398, 0, 0, 2400, 402, 250, 253, 251, 1840,
252, 258, 0, 259, 260, 261, 262, 263, 254, 424,
425, 257, 255, 256, 0, 2120, 0, 2121, 2181, 2180,
2182, 0, 0, 0, 141, 0, 889, 214, 218, 247,
831, 2888, 294, 2874, 0, 1838, 2042, 2385, 0, 1612,
0, 1610, 1632, 1631, 0, 0, 0, 0, 1513, 0,
0, 0, 1511, 0, 1507, 0, 1504, 1509, 1508, 564,
0, 0, 2924, 580, 0, 578, 0, 574, 572, 575,
602, 0, 0, 598, 599, 597, 595, 0, 0, 588,
0, 857, 0, 0, 692, 240, 0, 233, 0, 0,
411, 414, 0, 0, 417, 407, 406, 408, 0, 401,
400, 400, 454, 405, 451, 450, 443, 0, 2869, 0,
0, 0, 2882, 278, 277, 269, 0, 400, 2872, 2873,
0, 2876, 2586, 2802, 2801, 2799, 0, 2028, 0, 1611,
0, 0, 831, 1636, 1635, 0, 1514, 0, 1516, 1515,
0, 0, 1520, 0, 1521, 0, 558, 564, 2922, 577,
0, 584, 0, 582, 585, 600, 601, 591, 587, 0,
596, 869, 0, 868, 0, 865, 864, 694, 693, 788,
242, 427, 438, 441, 433, 413, 0, 0, 0, 403,
400, 0, 387, 385, 386, 392, 393, 394, 395, 396,
397, 388, 391, 389, 390, 400, 0, 303, 0, 0,
2870, 2871, 142, 249, 268, 279, 2889, 2875, 400, 2800,
0, 2036, 0, 1613, 1614, 1617, 0, 1512, 1510, 1519,
1522, 565, 559, 2921, 579, 581, 0, 590, 589, 871,
872, 870, 0, 0, 689, 0, 0, 400, 434, 0,
409, 0, 418, 0, 0, 301, 457, 455, 299, 445,
445, 231, 2883, 2877, 0, 2044, 1616, 1618, 0, 1517,
583, 0, 0, 435, 441, 431, 439, 400, 0, 0,
399, 0, 453, 302, 0, 0, 0, 400, 0, 444,
446, 448, 400, 2043, 0, 2048, 0, 867, 866, 0,
432, 0, 0, 430, 410, 415, 400, 458, 400, 312,
311, 0, 0, 381, 452, 0, 304, 2884, 0, 0,
2055, 1619, 436, 0, 400, 0, 400, 0, 400, 0,
0, 831, 0, 0, 300, 2046, 2047, 2045, 2050, 0,
0, 2052, 2053, 0, 2016, 0, 1626, 1627, 1615, 1620,
1621, 0, 0, 428, 400, 416, 421, 0, 0, 307,
382, 383, 0, 309, 2054, 2049, 0, 2056, 2058, 0,
1628, 1622, 0, 1623, 0, 0, 400, 400, 417, 420,
459, 456, 0, 0, 305, 306, 317, 316, 0, 2051,
0, 0, 0, 0, 1625, 1624, 400, 400, 422, 325,
323, 400, 313, 321, 315, 0, 322, 384, 310, 2057,
2059, 0, 308, 324, 314
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4418, -4418, -4418, -4418, -4418, -4418, 119, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, 1737, -4418, -4418, -4418, -4418,
-4418, -4418, 1829, 1836, -4418, -3854, -4418, -4418, 1844, -4418,
509, 1834, -4418, 517, -4418, 1863, -4418, 528, -4418, -863,
-1891, -4418, -4418, -4418, -4418, -4418, -4418, 1272, -4418, -4418,
524, 1464, 3858, -4418, 516, -4418, 242, -4418, -4418, -4418,
-3778, 136, -43, -4418, -4418, 39, 3440, -42, -4417, -4418,
-4418, -4418, -4418, -4418, -4418, 521, -4418, -4418, 352, -4418,
-4418, -2577, -4418, -4418, -4418, -4418, -4418, -4418, -218, -171,
2306, -4418, -4418, -4418, 4898, -4418, 4155, -4418, -2403, 2435,
-4418, -4418, -4418, -4418, -4418, 2495, -2345, -4418, -4418, -4418,
1265, -4418, -4418, -4418, -482, 290, -4418, 294, -4418, 296,
-4418, 297, -4418, 298, 302, 311, 319, -4418, 322, -4418,
-4418, -162, -4418, -4418, -4418, -4418, 323, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -66, -4418, -4418, 40, -4418, -4418,
-36, 326, -4418, -27, 327, -4418, 328, -4418, 33, -4418,
37, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, 1373, 2802, 3995, 2798, -1030, -4418, 1879, -4418, -4418,
945, -4418, -4418, 1093, -1349, -4418, 2654, -2298, -2273, -2268,
-4418, -4418, -4418, -2927, -2923, -1024, -4418, -1028, -2250, -2097,
928, 1919, 1921, 1917, 18, -4418, 1148, 540, -4418, -4418,
-4418, -3275, 121, -4418, -3291, 754, -4418, -4418, -4418, -4418,
-3079, -4418, -4418, 46, -4418, -4418, 112, 116, -4418, 396,
-4418, 2672, -2040, -499, 2740, -4418, -1635, -1545, 570, -1413,
-1409, -4418, -4418, -4418, 1381, 1942, 1094, -4418, 1098, -1443,
1045, -3413, -4418, -4418, -713, -2685, -4418, -4418, -3951, -4418,
-232, 1553, -4418, -4418, -220, -4418, -4418, -4418, 1524, 1526,
-2901, 1987, -1419, -4418, 747, 946, -1495, -4418, 137, -4418,
1054, -4418, -4418, -3626, -4418, -41, -2557, 365, -4418, -4418,
-2874, -3357, -1408, -4418, -4418, -3349, -2428, 1713, -4418, -4418,
414, -4418, -4418, -4418, -4418, -3391, -4418, -1500, -2026, -4418,
-4418, 553, -4418, 498, 552, -4418, 496, -4074, -4418, 547,
-1630, 2167, -4418, 3410, 2161, -2243, -4418, -3943, -2021, 791,
-2114, -4418, 1100, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-1768, -4418, -4418, 1432, -4418, 2291, 1995, -4418, 2297, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, 2784, -4418,
730, -1602, 2787, -4418, 2786, 712, -2372, -965, -4418, -962,
-4418, -1428, 3601, -2003, -3497, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 3144, -4418, -4418, -4418, -4418, -4418,
4292, -4418, 3153, -4418, -4418, -4418, -4418, -4418, 1542, -4418,
2587, -4418, -4418, -4418, -4418, -4418, 2176, 3459, -4418, -4418,
100, -4418, -4418, -4418, -4418, 2597, -4418, -4418, 3487, 2085,
-4418, -4418, 1933, 2611, -1543, 1395, -1002, 5040, 4, 32,
1, 766, -4418, 3275, -4418, -4418, -2091, -4418, -4418, 4344,
-882, -4418, 3632, -4418, -4418, 2285, -4418, 4357, 3441, 2997,
838, 5112, -4418, -1661, -4418, -24, -4418, -4418, -1033, -4418,
-4418, -4418, -743, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, 2375, -4418, -4418, -4418, 3030, 1759,
-2642, -4418, -2333, -1888, -4418, -2509, 520, -4418, -4418, -4418,
-4418, -4418, -4418, 502, -4418, 226, -4418, -4418, -4418, -1686,
-4418, -4418, -4418, -4418, -4418, -811, 2483, -1240, -1239, -4418,
3809, -4418, -4418, -4418, -2766, -4418, -2336, -4418, -4418, -4418,
-4418, -3004, -2420, -4418, -905, 2600, 2604, 2606, 2607, -4418,
-4418, 163, -4418, 248, -4418, -4418, 41, 30, -2058, 693,
-4418, 969, -4418, -4418, -4418, 447, 1573, 448, -2035, -2176,
-1289, 1742, -4418, -4418, -1762, 3856, -1784, -1718, 1385, 7,
4345, 3894, -2845, -4418, 973, -4418, 551, 1930, 675, -4418,
-4418, 1614, -982, -85, 554, -2878, -4418, -979, -83, -4418,
-2118, 653, -706, -2452, -2106, -2308, -2140, -4418, -4418, 2995,
3998, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-502, -1993, -432, 5144, 3447, -4418, 2743, 4159, 4164, -4418,
-4418, 4040, 2007, 2008, -4418, -3390, -2447, -4418, -4418, -757,
-325, 1023, -4418, 1450, -3990, -3000, 4168, -4418, -3320, 1038,
4177, 4175, -3128, 3696, -4418, -4418, -4418, -4418, -4418, 2578,
-4418, -4418, -4418, -4418, -4418, -4418, 3290, 4394, -782, -1759,
-4418, -4418, -4418, 1128, 3271, 2588, -1132, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
2742, 2212, -4418, -4418, -4418, -4418, 3390, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, 2029, 307, -4418, 1289, 229, -4418, 932,
-4418, -4418, -4418, -4418, -4418, 83, -4418, -4418, 61, -4418,
-991, -990, 1188, -1713, -2667, -4418, 1059, -3043, -2735, 759,
-825, -1359, -1357, 139, 2369, 3599, -1516, -4418, 2561, -786,
-1433, -2054, 1122, 3527, -6, -4418, -3006, -4418, -19, 107,
2174, -74, 3357, -3452, -4418, 36, 0, -4418, 423, 110,
-4418, -4418, 255, -4418, -4418, -4418, 330, -4418, -4418, -4418,
-4418, 4013, -4418, 2649, 5170, -4418, -4418, -4418, 3354, 5173,
-608, 4016, 3373, -4418, 3379, -4418, -4418, -4418, -1767, -4418,
-4418, 187, -4418, 2735, -4418, -4418, -4418, -4418, -4418, -4418,
-4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -4418, -1051,
4475, 5186, 4111, -4418, -4418, 2452, -4418, -1702, -1094, -1043,
-2481, -4418, 2853, 3793, -4418, -4418, 1973, -4418, 2854, 817,
-4418, -4418, 650, -4418, -4418, 1683, 4484, 4071, -4418, -4418,
-4418, -4418, -4418, 4246, -4418, 11, -34, -4418, -329, -4418,
-4418, -4418, 439, 5227, 5228, -4418, -4418, 175, -4418, -789,
-4418, -4418, -4418, -4418, -4418, 4181, -4418, -4418, 4184, -4418,
-4418, -4418, -4418, 4185, -4418, -4418, -4418, -4418, -4418, -4418,
2329, -4418, -4418, -4418, -4418, -4418, -4418, -442, -4418, -4418,
-4418, 333, -4418, 1599, -4418, 1216, -4418, 1159, 854, 1689
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 62, 63, 973, 2128, 64, 65, 66, 67, 68,
1790, 69, 1088, 1733, 2437, 2438, 70, 712, 71, 1620,
1621, 2355, 2356, 3604, 4052, 4053, 3613, 4067, 3607, 4056,
4057, 3610, 4061, 4062, 2345, 2346, 4048, 4049, 3600, 2347,
1943, 72, 73, 74, 75, 2363, 76, 3631, 2377, 77,
2869, 2870, 1665, 3657, 4039, 4661, 4043, 4747, 4847, 4677,
3000, 4364, 4662, 4663, 4756, 2386, 2198, 4791, 2856, 4875,
2857, 78, 1034, 4096, 4097, 4098, 4406, 4407, 4408, 4409,
5037, 4940, 5008, 5038, 5132, 5138, 5061, 5151, 5152, 5153,
5136, 1156, 5154, 79, 744, 745, 1158, 1817, 2451, 1818,
80, 81, 674, 1752, 1753, 1754, 1755, 3152, 2452, 3147,
3148, 4124, 5062, 5134, 4941, 4942, 4854, 4943, 4759, 4944,
4858, 4945, 4762, 4946, 4947, 4948, 4949, 5029, 4950, 4853,
5054, 4937, 4938, 5031, 5106, 5129, 4951, 4769, 4848, 4995,
4770, 4849, 5024, 4933, 5025, 5049, 5102, 4934, 4996, 5052,
4999, 4952, 4958, 5039, 4953, 4959, 4954, 4774, 4865, 4957,
4863, 4956, 5035, 5034, 5077, 3115, 3668, 1651, 2372, 3066,
3067, 3068, 2872, 2873, 1520, 2425, 2426, 2427, 3618, 3619,
3620, 3431, 3432, 3433, 2205, 2995, 2861, 1521, 1522, 1523,
3072, 3622, 3623, 3073, 3074, 1524, 3076, 1525, 1526, 2878,
3097, 3098, 3099, 3100, 3101, 2123, 2124, 3378, 2755, 3375,
4243, 3873, 4906, 3880, 3930, 3931, 4507, 4828, 4720, 4824,
4721, 4826, 4912, 4913, 4731, 4838, 4839, 4637, 4638, 4639,
3053, 2192, 2193, 1044, 1583, 3102, 2214, 1584, 2956, 1585,
1586, 2196, 2971, 2943, 3663, 3463, 3464, 3465, 3980, 3466,
2899, 2222, 3456, 3457, 3996, 3513, 4336, 4929, 3514, 3515,
3516, 3517, 3518, 3519, 3520, 3793, 3521, 3794, 3789, 3790,
3787, 1297, 4303, 4304, 4305, 3783, 3784, 4011, 3997, 3998,
3999, 4312, 4329, 933, 4321, 3956, 1174, 2812, 1197, 1198,
2545, 1836, 1587, 3957, 3958, 3959, 4005, 3854, 4477, 4001,
3981, 4531, 4653, 4656, 4744, 4925, 2900, 1613, 2892, 1932,
645, 4560, 4561, 4562, 4565, 4566, 4567, 4516, 4517, 4518,
4519, 2901, 2381, 4520, 4521, 3089, 4510, 3938, 3939, 3940,
2902, 3362, 4294, 82, 83, 1502, 84, 1508, 85, 1504,
86, 1606, 1026, 87, 2301, 88, 89, 90, 91, 92,
2550, 93, 94, 2784, 2785, 2786, 2148, 2780, 2781, 978,
3001, 3565, 4548, 1009, 1588, 1589, 2295, 1590, 1591, 4541,
1592, 2918, 1593, 1594, 1595, 1596, 3133, 3134, 2907, 3135,
2946, 2224, 1125, 2432, 4022, 2274, 95, 96, 97, 987,
2157, 98, 1253, 1254, 1255, 1449, 1450, 2159, 2810, 3404,
1248, 1249, 1250, 988, 1447, 99, 1625, 100, 2503, 2504,
2505, 101, 4367, 2307, 102, 103, 1632, 1633, 1634, 104,
189, 105, 1145, 1143, 1795, 1796, 106, 1030, 1031, 2309,
107, 2486, 2487, 1614, 1615, 3707, 108, 109, 3104, 111,
934, 113, 114, 1828, 1829, 2526, 2527, 761, 762, 763,
1475, 1476, 1477, 2178, 2824, 2825, 2826, 1064, 1065, 1689,
1294, 1616, 1067, 1068, 2413, 1069, 1690, 1691, 4002, 936,
1702, 2405, 937, 3802, 938, 939, 940, 941, 942, 3823,
3824, 4213, 2115, 2116, 2117, 943, 944, 945, 2727, 3865,
3352, 4235, 3262, 3263, 3346, 4448, 3348, 3859, 3860, 4230,
4481, 4611, 4708, 4808, 4710, 4809, 4816, 4612, 946, 947,
1392, 2016, 3816, 3300, 4202, 1961, 3287, 1617, 1618, 1319,
1320, 1285, 2634, 1967, 2528, 3740, 2529, 3214, 3215, 3216,
3751, 3747, 2507, 2508, 2530, 2531, 2532, 2533, 2534, 2535,
2536, 4590, 4798, 4799, 5018, 5098, 5099, 5100, 5101, 4594,
4169, 4170, 4171, 4172, 4173, 3009, 3010, 3011, 3713, 2919,
2006, 2007, 2014, 1770, 1771, 1962, 2481, 1880, 3760, 970,
806, 807, 1264, 1945, 4179, 4449, 4450, 3220, 4175, 4447,
2952, 2953, 993, 994, 2166, 2816, 2817, 1462, 1463, 1467,
1468, 4625, 2957, 2844, 2794, 2879, 2880, 2846, 1454, 1455,
990, 1456, 116, 653, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2446, 2185, 1023, 646, 1721, 1722, 1723, 133, 134, 717,
738, 1148, 3184, 3185, 3719, 3186, 3106, 3188, 3725, 2206,
2207, 3726, 4147, 3698, 3699, 4134, 135, 136, 3715, 3716,
739, 137, 2836, 1485, 1486, 138, 799, 1916, 1917, 1918,
2602, 139, 791, 1238, 3768, 3773, 2588, 1140, 1527, 1897,
1241, 1242, 1243, 1898, 2573, 3241, 1881, 140, 141, 1495,
142, 1005, 1496, 143, 1089, 1746, 3145, 3684, 4109, 1747,
1748, 2447, 144, 741, 1153, 1150, 1154, 1802, 1801, 2512,
2510, 145, 731, 1141, 2495, 146, 722, 147, 148, 726,
1783, 1133, 3708, 3107, 3407, 3908, 3909, 3911, 4266, 4267,
4887, 5045, 5087, 5070, 5090, 5091, 5094, 5117, 5118, 948,
1268, 949, 4322, 950, 951, 952, 3720, 1070, 2167, 4176,
953, 3717, 954, 2537, 2186, 616, 4063, 4064, 979, 1269,
2161, 1841, 3892, 1692, 956, 702, 4776, 781, 981, 1189,
982, 1726, 1190, 2465, 618, 619, 620, 4777, 621, 622,
706, 786, 623, 149, 787, 150, 1850, 151, 3235, 3236,
1203, 1207, 1865, 1866, 1867, 1244, 2093, 1859, 1204, 1868,
790, 1182, 1183, 1848, 1184, 1846, 1185, 2555, 1876, 152,
1135, 628, 1786, 1787, 3171, 153, 803, 154, 155, 156,
1015, 157, 1775, 2479, 2480, 158, 1820, 159, 1757, 1766,
1092, 708, 709, 2468, 2775, 2143, 2144, 2466, 1727, 1191,
3229, 1435, 1654, 984, 1655, 985, 1103, 1760, 1438, 4129,
3689, 4686, 4419, 160, 190, 631, 1042, 1639, 1825, 161,
162, 163, 164, 1461, 957, 2538, 958, 764, 1058, 647,
1674, 1666, 183, 184, 185, 650, 651, 186, 1604, 1605,
4044, 4550, 4665, 4880, 4881, 1668, 4968, 1669, 1670, 3658,
4575, 4964, 5042, 1671, 3112, 4101, 4680, 4877, 165, 1274,
1270, 816, 1956, 1950, 1952, 166, 167, 1128, 168, 169,
4618, 4619, 3646, 2300, 3556, 3557, 4033, 2998, 3561, 2434
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
617, 112, 779, 1490, 110, 1469, 2066, 115, 2067, 1240,
1642, 1656, 670, 1175, 1179, 1497, 711, 1478, 1472, 2162,
983, 704, 1767, 2490, 964, 730, 2021, 997, 2223, 998,
2605, 935, 746, 1208, 1321, 751, 1709, 2454, 2290, 704,
746, 2404, 1729, 783, 2539, 615, 804, 808, 2250, 1970,
1971, 2845, 1720, 2819, 2820, 1597, 1719, 2482, 1598, 3354,
3187, 3060, 969, 3163, 2453, 968, 2273, 1822, 2009, 963,
3230, 2315, 2932, 2551, 3069, 961, 3545, 1280, 2023, 782,
3288, 2769, 1891, 3408, 3289, 2221, 3356, 2424, 980, 2194,
2036, 2037, 2038, 2195, 2197, 2040, 3876, 2569, 2837, 3070,
3918, 3995, 2228, 2889, 3071, 1924, 2232, 3146, 3552, 3234,
2482, 1823, 3192, 2884, 2885, 3136, 1000, 3217, 1479, 671,
2251, 2519, 3078, 1446, 2913, 1833, 1038, 1040, 703, 3624,
729, 705, 2263, 3625, 2076, 735, 1007, 3090, 3962, 3966,
3721, 4421, 3967, 1053, 1054, 2595, 703, 999, 4401, 705,
1769, 4426, 2847, 785, 4059, 2948, 2949, 4000, 1018, 3566,
3976, 710, 1411, 2606, 2209, 1010, 4003, 617, 2814, 2607,
617, 980, 1019, 1007, 3092, 2610, 4017, 4018, 1682, 1683,
1205, 1119, 2430, 1385, 1386, 1387, 652, 1007, 3200, 2723,
2724, 2830, 2375, 1408, 2894, 1409, 629, 2732, 2733, 2734,
2750, 3189, 1626, 1409, 1682, 1683, -1996, 2715, 3752, 1682,
1683, 4377, 1012, 3347, 2305, 1017, 728, 1682, 1683, 1544,
2752, 734, 1072, 1073, 1074, 1682, 1683, 1077, 1078, 1682,
1683, 1081, 2135, 1083, 1084, 1085, 1409, 1894, 1682, 1683,
1682, 1683, 4254, 1110, 3080, 3092, 1682, 1683, 1682, 1683,
-933, -948, 1041, 723, 3405, 2833, 1049, 1923, 4901, 1942,
1769, 4360, 4514, -616, 3968, 3542, 2807, 1682, 1683, 1667,
1675, -2149, 2500, 2632, 1769, 1265, 707, 2815, 1942, 1544,
1022, 1006, 5144, 2493, 1544, -1678, 3950, 1001, 3385, 2430,
3231, 3917, 3526, 4026, 707, 3264, 3265, 3266, 3951, 1682,
1683, 2370, 3373, 1107, 1682, 1683, 1682, 1683, 1149, 3682,
-603, 3292, 3952, 1682, 1683, -604, 2500, -616, 1020, 1627,
1059, 4997, 3350, 1628, 1210, 766, 3562, 4031, 4142, 1978,
2782, 3299, 1032, 4133, 4338, 4511, 3308, 1629, 2171, 1412,
3310, -1929, 3168, 720, 3448, 2269, 727, 1138, 1608, 4827,
1682, 1683, 1682, 1683, 2814, 796, 3318, 3319, 1635, 1259,
4320, 2090, 3325, 3748, 3207, 1878, 2940, 4902, 3593, 3534,
1804, 1682, 1683, 3757, 4874, 1529, 1028, 724, 3337, 3338,
4132, 3950, 3798, -2678, 1622, 1161, 1827, 3344, 1358, 3888,
1180, 718, 4842, 3951, 1167, 1131, 3749, 191, 2270, 1301,
2281, 1151, -1792, 3150, 2707, 991, 2761, 3952, 2692, -1678,
989, 2814, 800, 3394, 4288, 187, 1168, 4403, 4851, 1210,
766, 2845, 4445, 1682, 1683, -2679, 3553, 4404, -484, -832,
3002, 1637, 3140, 3199, 2091, 989, 4195, 1860, 4644, 3739,
3743, 3922, 3644, 1682, 1683, 4309, 2941, 4515, 1864, 3754,
3755, 2774, 1210, 766, 3043, 3093, 1895, 1266, 1682, 1683,
960, -1938, 4482, 2815, 3052, 4997, 784, 1927, 4310, 3532,
1963, 1964, 1965, 3559, 1630, 1933, 2756, 2244, 4896, 1985,
3836, 1975, 3169, 4307, 2271, 317, 1102, 319, 3560, 4814,
1113, 1682, 1683, 1321, 3226, 3227, -470, -2744, 4676, 2181,
-2592, 2182, 3208, -2678, 188, 1682, 1683, 4311, 1896, 2293,
1638, 1900, 2029, 1410, 3151, 2033, 1169, 4553, 4349, 3954,
2815, 1410, 3209, 2757, 4903, 2501, 1607, -510, -499, -1678,
1682, 1683, -1678, 2050, 2051, 3210, 4446, 2055, -1939, 3645,
1682, 1683, 4483, 2635, 1905, -2679, 1120, 1685, 2137, 2942,
1686, 3003, 3143, 3950, 1410, 2069, 2070, 2137, 1659, 1610,
2074, 2075, 3923, 3434, 3769, 3951, 1162, 2762, 1181, 2501,
1359, 4405, 1631, 1685, 3960, 1302, 1686, 1789, 1685, 3952,
2170, 1686, 1728, 672, 4852, 3995, 1685, 1611, 4240, 1686,
2175, 1210, 3963, 2282, 1685, 4874, 1152, 1686, 1685, 2183,
2431, 1686, 3750, 1132, 3974, 3975, 4292, 1685, 4244, 1685,
1686, -832, 1686, -2149, 2845, 1685, 4296, 1048, 1686, 3211,
992, 3190, 1007, 1007, 4299, 1027, 2112, 2113, 1139, 4682,
980, 1928, 1051, 2787, 1788, 2795, 1685, 1623, 2084, 1686,
2245, -1678, 2929, 719, 1798, 3648, 42, 1071, 1557, 3527,
2092, 1075, -616, 2938, -1678, 1731, 1080, 4341, 3455, 1144,
4166, 3228, 797, 1899, 801, 2401, 626, 2111, 1685, 627,
1636, 1686, -1678, 1685, 2010, 1685, 1686, 2011, 1686, 2306,
3095, 1777, 1685, 2978, 721, 1686, 4339, 1720, -2744, 3890,
3449, 1719, 3170, 1122, 4032, 3160, 2317, 2213, 4535, 4167,
4735, 2428, 4135, 4667, 4668, 1979, 980, 2431, 4140, 2502,
1172, 3007, 1126, 3867, 2172, 3869, 3187, 42, 2891, 1685,
2891, 1685, 1686, 1172, 1686, 1879, 1142, 980, 4790, 2783,
1234, 1679, 1413, 3563, 3395, 2643, 1682, 1683, 1050, 2138,
1685, 3212, 3416, 1686, 1177, 4158, 4159, 1108, 2138, 3628,
1237, 1176, 3683, 2502, 4427, 1071, 3221, 2633, 3621, 1194,
1199, 2482, 1111, 4514, 980, 2590, 1002, 1039, 1039, 2593,
4823, 3396, 980, 980, 2597, 704, 3218, 2656, 3447, 2194,
3450, 2845, 3946, 2195, 2197, 3351, 3917, 3549, 783, 725,
53, 3138, 1685, 1007, 1258, 1686, 4678, 1682, 1683, 808,
3531, -1996, 2454, 2611, 2612, 4932, 2558, 3232, 1688, 964,
1267, 2834, 1685, 3213, 2641, 1686, 1163, 2304, 3042, 5145,
2376, 2136, 2482, 1624, 782, 3969, 1061, 1685, 3409, 2453,
1686, 1682, 1683, 3081, 1688, 2494, 3858, 3051, 3103, 1688,
4255, 3523, 3524, 3359, 4015, -933, -948, 1688, 2213, 4892,
2735, 4904, 1609, 1322, 1305, 1688, 1087, 2139, 2213, 1688,
1685, 53, -2678, 1686, 3953, -2149, 3121, 1121, 1688, 3741,
1688, 4843, 3454, 2731, 1685, 2751, 1688, 1686, 1688, 3782,
-1678, 3870, -1678, 1624, 997, 705, 998, 4154, -1678, 3954,
2390, 1682, 1683, 1624, 4283, 2753, 1624, 1688, 785, 1685,
3885, 962, 1686, 3889, -2679, -603, 2954, 2272, 2067, 1685,
-604, 1393, 1686, 1423, 4104, 1480, 1136, 1481, 2741, 1682,
1683, 4059, 1146, 1360, 980, 2455, 1394, -290, 3779, 1688,
1389, 4870, 3538, 1388, 1688, 2716, 1688, 1503, 1257, 2717,
2088, 1117, 1681, 1688, 2089, 3166, 3900, -1929, 4515, 5023,
2194, -1938, 2642, 1395, 2195, 2197, 2708, 2620, 3806, 3953,
3807, 1624, 2409, 969, 2693, 1934, 1388, 4155, 1426, 2088,
1457, 1000, 962, 2660, 3825, 2623, 3826, 2696, -2678, 1653,
1688, 2697, 1688, 980, 1901, -2744, 1682, 1683, 1395, 1470,
1260, 3840, 4289, 3381, 3913, 1506, 3928, -1792, 2624, 2213,
1498, 1688, 999, 3714, -1678, 980, 112, 1505, 980, 110,
1507, 3782, 115, 4435, 2847, 1599, 673, 1906, 1601, 617,
-2679, -683, 1007, -484, 3079, 2213, 3640, 2140, -1939, 1619,
707, 1761, 3770, 995, 2647, 3837, 2141, 2713, 1643, 1644,
1645, 2714, 191, 1648, 4577, 2141, 1652, 980, 2648, 1657,
1658, 4878, 1173, 1688, 704, 3093, 3167, 1682, 1683, 1717,
1693, 4543, 3397, 4284, 1602, 1173, 1711, 617, 1713, 3414,
1715, 617, 980, 1688, 4616, 617, 1725, 980, 1007, 4203,
1730, 2548, 4168, 3670, 1756, 704, 1821, 3671, 1688, 1060,
2765, -470, 2574, 2213, 1762, -2592, 1759, 2213, 4251, 980,
3255, 3665, 3721, 1838, 4514, 1685, 2653, 980, 1686, 4308,
980, 5081, 1712, 1251, 1774, 1776, 1716, 704, 1350, 2895,
1724, 1688, -510, -499, 2213, 2213, 3086, 1280, 1516, 1007,
1007, 3953, 4422, 1178, 3767, 1688, 2142, 3116, 2012, 1007,
1007, 2013, 1007, 1800, 3624, 991, 2547, 1409, 3625, 2625,
2369, 5160, 3964, 3511, 980, 980, 1115, 1397, 2658, 1516,
1688, 191, 2385, 1834, 705, 779, 1685, 1039, 704, 1686,
1688, 980, 1682, 1683, 3811, 1172, 1920, 4650, 3812, 4652,
42, 1469, 1469, 793, 4083, 4608, 1853, 2208, 1436, 2210,
2211, 2255, 1397, 2659, 1861, 705, 1893, 2176, 5085, 3111,
1685, 2666, 1954, 1686, 2225, 1409, 783, 2230, 2231, 980,
2233, 784, 3666, 2236, 2237, 2238, 2239, 2668, 3942, 3943,
2242, 2672, 3819, 1039, 703, 2253, 3820, 705, -1929, 2435,
2258, 2259, 2260, 2261, 2262, 3420, 3838, 4609, 2266, 2267,
3839, 3123, 782, 2694, 2277, 2278, 2279, 2280, 2896, 2283,
2284, 2567, 2286, 4860, 1660, 2289, 808, 1946, 2845, 1205,
1685, 4106, 1473, 1686, 4020, 4107, 4209, 1682, 1683, 1640,
1641, 4143, 4035, 4879, 1785, 1039, 1749, 4191, 705, 191,
3095, 4181, 4182, 1763, 1797, 1039, 2423, 1799, 1685, 4515,
630, 1686, 2805, 4740, 1351, 3087, 1682, 1683, 1322, 2828,
2829, 3398, 3399, 2177, 997, 1234, 998, 1514, 2845, 707,
3528, 2041, 1322, 4184, 1661, 1389, 785, 1252, 1388, 1682,
1683, 4036, 3912, 4559, 4150, 4792, 3380, 1682, 1683, 3887,
3117, 1597, 1597, 3894, 1598, 1598, 1234, 1511, 3934, 3069,
707, 3146, 3523, 3524, 3077, 193, 2125, 1672, 3075, 3543,
1843, 1398, 1399, 1474, 2256, 1685, 1409, 3546, 1686, 2068,
996, 1116, 3550, 2145, 3070, 995, 1688, 4795, 3155, 3071,
3228, 2096, 707, 2097, 2098, 2099, 2100, 2101, 2103, 2105,
2106, 2107, 2108, 2109, 2577, 1682, 1683, 3078, 1518, 4075,
2110, 4045, 4046, 1682, 1683, 1512, 1720, 1395, 2891, 4293,
1719, 4223, 5086, 980, 2223, 4246, 4247, 736, 3153, 2118,
1661, 4249, 2132, 4252, 980, 1955, 4861, 1682, 1683, 1518,
4921, 2735, 1354, 707, 3195, 980, 1685, 1688, 4617, 1686,
4242, 980, 3637, 4872, 2163, 962, 3732, 4610, 1938, 4820,
1516, 4021, 2290, 1662, 4253, 4192, 2802, 980, 3317, 4257,
3676, 3687, 4926, 3363, 3364, 3756, 4060, 3762, 3763, 4537,
3669, 1688, 2168, 3245, 3863, 1410, 3194, 3654, 3868, 2190,
3766, 2662, 2173, 2897, 3250, 3251, 1437, 991, 3254, 2187,
1035, 4716, 980, 4990, 4191, 2223, 2250, 3206, 1682, 1683,
794, 1473, 3729, 3774, 3775, 4741, 2845, 1921, 3222, 3223,
3224, 3575, 3162, 1764, 3578, 3579, 1424, 3366, 3582, 3583,
3584, 3585, 3586, 3587, 3588, 3589, 3995, 1173, 3592, 2543,
3594, 1688, 3596, 1410, 4227, 2914, 4037, 2916, 4193, 1682,
1683, 1117, 2674, 1682, 1683, 4975, 2928, 4081, 4082, 2414,
713, 1685, 2221, 3659, 1686, 1499, 2292, 3118, 1514, 1688,
1682, 1683, 4705, 2944, 1404, 1405, 1406, 1407, 2251, 1682,
1683, 1682, 1683, 3119, 795, 3088, 2679, 1663, 1682, 1683,
3904, 841, 737, 995, 2975, 1854, 4340, 4210, 2977, 4342,
3667, 3905, 1474, 1682, 1683, 1400, 1401, 1402, 1403, 1404,
1405, 1406, 1407, 4484, 4068, 1459, 2223, 4862, 1355, 624,
3765, 1397, 2310, 1007, 4264, 4742, 1682, 1683, 2294, 4074,
732, 1682, 1683, 1844, 3886, 1489, 1688, 1234, 1007, 2379,
1682, 1683, 3705, 3247, 5095, 2845, 2683, 3434, 1935, 784,
5047, 5048, 3915, 4781, 1515, 4645, 1685, 846, 4265, 1686,
4825, 2194, 2380, 4829, 4782, 2195, 2197, 4717, 1855, 1765,
4532, 4533, 4192, 1007, 2684, 740, 2387, 617, 617, 2898,
1879, 5096, 25, 1663, 3092, 1685, 617, 3660, 1686, 4038,
964, 798, 1295, 3129, 1410, 1071, 1682, 1683, 2393, 2406,
1603, 1516, 2410, 3523, 3524, 991, 4331, 1688, 1685, 1852,
2455, 1686, 996, 2767, 4806, 2585, 1685, 4428, 2482, 1686,
1518, 1939, 2388, 2389, 2419, 802, 1682, 1683, 1007, 1936,
1682, 1683, 3330, 2845, 4300, 2408, 1429, 1682, 1683, 2496,
2497, 2686, 1460, 750, 5111, 1007, 1682, 1683, 4600, 965,
4991, 42, 2456, 4524, 1664, 4197, 3353, 4922, 1610, 858,
625, 1362, 2845, 1007, 1322, 980, 4855, 4856, 2312, 4194,
4076, 4077, 4078, 1511, 1685, 2415, 2845, 1686, 2586, 962,
2464, 2845, 1685, 2357, 2469, 1686, 1611, 4491, 966, 4492,
2492, 4737, 1007, 3621, 4693, 1007, 1603, 3785, 3206, 1682,
1683, 2416, 1500, 980, 4403, 42, 1685, 980, 980, 1686,
3800, 2379, 2687, 964, 4404, 1682, 1683, 3925, 2383, -539,
2789, 2759, 1688, 3906, 1682, 1683, 1430, 960, 1501, 1514,
3237, 1512, 4301, 1427, 2380, 2583, 2546, 2464, 1879, 2520,
4694, 1007, 873, 2067, 3722, 3413, 2067, 4326, 2594, 980,
1664, 4984, 2559, 3436, 4248, 1682, 1683, 3435, 4923, 4898,
3895, 4327, 714, 1682, 1683, 980, 874, 2849, 1610, 704,
4817, 2226, 704, 2421, 2768, 3661, 4302, 1685, 1234, 783,
1686, 2216, 4783, 2850, 1856, 4525, 2790, 783, 974, 4924,
1039, 5097, 4464, 1029, 3093, 53, 1611, 36, 617, 617,
617, 1007, 617, 980, 1007, -1929, 1682, 1683, 1039, 4628,
2888, 1959, 2591, 971, 617, 782, 980, 1688, 1685, 617,
996, 1686, 1685, 782, 1612, 1686, 4272, 2691, 3343, 1682,
1683, 4276, 4629, 964, 42, 4279, 2927, 2483, 4549, 1685,
2488, 4030, 1686, 2578, 2579, 2580, 1688, 2582, 1685, 53,
1685, 1686, 2939, 1686, 715, 1840, 4140, 1685, 4405, 2592,
1686, 1518, 1516, 1482, 2596, 4712, 1682, 1683, 2417, 1688,
4695, 2587, 1685, 1682, 1683, 1686, 4194, 1688, 2619, 705,
3896, 1959, 705, 2834, 1514, 3554, 2982, 2983, 2791, 785,
3662, 2428, 4381, 4382, 2996, 1685, 3949, 785, 1686, 4232,
1685, 4233, 2120, 1686, 4071, 2121, 61, 3358, 3907, 1685,
4187, 986, 1686, -1850, 1682, 1683, 1402, 1403, 1404, 1405,
1406, 1407, 2709, 5040, 5040, 1483, 5082, 716, 972, 3973,
1840, 3342, 4620, 4105, 2454, 1688, 1840, 3978, 1960, 1857,
1322, 2667, 2227, 1688, 4008, 5083, 2581, 1959, 3627, 2584,
1959, 2726, 3626, 4392, 4328, 2851, 4486, 4811, 1858, 3642,
962, 2453, 989, 900, 960, 1685, 2467, 1688, 1686, 3638,
1515, 2792, 3379, 3085, 2730, 2428, 2482, 1959, 53, 1682,
1683, 2460, 3817, 2067, 3693, 2461, 3688, 1682, 1683, 4394,
3389, 3390, 3391, 3392, 2739, 1685, 3897, 2661, 1686, 1685,
1682, 1683, 1686, 4487, 1433, 4453, 1685, 980, 1974, 1686,
1682, 1683, 1682, 1683, -1850, 1685, 3639, 1516, 1686, 3095,
1682, 1683, 3730, 1246, 707, 1682, 1683, 707, 1693, 4093,
1008, 1682, 1683, 2852, 2428, 1682, 1683, 2770, 1688, 1234,
3818, 2811, 1682, 1683, 2636, 3113, 1682, 1683, 4268, 4269,
980, -1850, 3415, 704, 4270, 2122, 42, 2637, 4899, 2853,
3674, 1484, 1682, 1683, 4927, 1457, 4807, 3114, 1685, 4818,
3771, 1686, 3831, 4128, 2028, 964, 2292, 2032, 980, 1688,
3441, 3166, 2429, 1688, 1685, 1470, 1470, 1686, 4688, 61,
3679, 3893, 3678, 1685, 1434, 4366, 1686, 4391, 2832, 1013,
1688, 3695, 2429, 1007, 2054, 2954, 3458, 2067, 4670, 1688,
1247, 1688, 1016, 4673, 2482, 2482, 3522, 4493, 1688, 2926,
2482, 2854, 1518, 2822, 1685, 2823, 2886, 1686, 1682, 1683,
1014, 2890, 1685, 1688, 1990, 1686, 4041, 2903, 2905, 2908,
2909, 2910, 2911, 3842, 1011, 4928, 2915, 2169, 2920, 1021,
4811, 4042, -1850, 3916, 2936, 2552, 1688, 2174, 2920, 3386,
2930, 1688, 2920, 705, 2934, 2935, 3332, 980, 2937, 2920,
1688, 1682, 1683, 2661, 2947, 1685, 2553, 2950, 1686, 2068,
2640, 4472, 1395, 3714, 2960, 3714, 3387, 2961, 1007, 2429,
2981, 2638, 2793, 4323, 1234, 2317, 4835, 2976, 1685, 2920,
53, 1686, 784, 980, 4955, 3843, 1682, 1683, 1682, 1683,
784, 3531, 1682, 1683, 4153, 4452, 4466, 1007, 2554, 2649,
3742, 4323, 1653, 2855, 4788, 1022, 1688, 2920, 3012, 3753,
3574, 1395, 3576, 3577, 2650, 1685, 3580, 3581, 1686, 2893,
1994, 1024, 1685, 2831, 2747, 1686, 3590, 3591, 5019, 2912,
2748, 3595, 1682, 1683, 3598, 2921, 1688, 2657, 3340, 4978,
1688, 1432, 2670, 2067, 743, 4086, 4420, 1688, 1395, 1682,
1683, 2671, 743, 1025, 1433, 3139, 1688, 1518, 1007, 1682,
1683, 172, 1007, 1685, 2951, 3341, 1686, 4787, 2959, 1033,
980, 964, 4087, 42, 1035, 2963, 2964, 2747, 3108, 617,
3672, 964, 3673, 3131, 3105, 1682, 1683, 3124, 707, 626,
3126, 962, 627, 3130, -539, 1036, 2213, 1682, 1683, 1682,
1683, 1682, 1683, 3285, 4591, 2796, 4592, 2675, 1389, 1688,
3285, 1388, 2482, 2962, 3132, 3286, 3120, 3141, 4833, 4834,
5027, 1037, 3286, 980, 3109, 1688, 3128, 1041, 1685, 1995,
980, 1686, 4103, 1998, 1688, 1043, 1685, 2682, 733, 1686,
1999, 2685, 3004, 2617, 1434, 2223, 1756, 2618, 2688, 1685,
2639, 1756, 1686, 4981, 2317, 3154, 980, 2700, 1045, 1685,
626, 1685, 1686, 627, 1686, 1688, 1397, 2821, 2822, 1685,
2823, 2797, 1686, 1688, 1685, 1210, 766, 1686, 2663, 5076,
1685, 5078, 2317, 1686, 1685, 1007, 1047, 1686, 4189, 964,
964, 1685, 1007, 1007, 1686, 1685, 3970, 5104, 1686, 3971,
3181, 3182, 2798, 3055, 1439, 1440, 4718, 3059, 3105, 1322,
2718, 1685, 980, 1046, 1686, 1397, 1688, 53, 1007, 4199,
4200, 2000, 1052, 3421, 2796, 1389, 2725, 2955, 1388, 779,
1055, 1682, 1683, 3062, 3198, 2728, 1682, 1683, 3334, 1688,
2664, 704, 704, 704, 2026, 4215, 1056, 3103, 1057, 5146,
5147, 3776, 1397, 2993, 2994, 1682, 1683, 1929, 1930, 4386,
4387, 4388, 4389, 1682, 1683, 192, 2749, 170, 1682, 1683,
783, 3243, 1079, 2799, 3778, 2470, 1688, 1685, 1439, 1440,
1686, 4208, 701, 1688, 1931, 2002, 1076, 1883, 2845, 4343,
2797, 1091, 4345, 4346, 1210, 766, 4613, 1682, 1683, 2796,
701, 2471, 1007, 1007, 2291, 1578, 782, 2676, 1579, 3077,
1082, 2317, 3256, 3075, 1682, 1683, 2472, 3810, 1176, 1086,
1685, 2798, 1176, 1686, 1688, 1398, 1399, 1090, 962, 2473,
1785, 980, 841, 1093, 4151, 980, 1102, 1797, 3177, 2796,
3813, 3306, 2974, 4188, 1682, 1683, 1884, 1100, 1395, 1441,
1442, 705, 705, 705, 1101, 1685, 2800, 1685, 1686, 1104,
1686, 1685, 1105, 1106, 1686, 2797, 1109, 1118, 4442, 4443,
1094, 1112, 3558, 1123, 1398, 1399, 1114, 3821, 1124, 1885,
785, 2474, 2475, 2677, 3827, 1210, 766, 2317, 1130, 1688,
2678, 1134, 2799, 1514, 2317, 2291, 2798, 1688, 846, 2862,
1137, 1685, 2680, 2721, 1686, 2797, 2317, 2317, 2848, 2476,
1688, 1398, 1399, 1682, 1683, 3291, 3349, 4704, 1685, 2317,
1688, 1686, 1688, 1441, 1442, 3828, 2003, 3370, 1685, 3372,
1688, 1686, 3523, 3524, 1155, 1688, 2798, 3633, 3634, 3635,
3636, 1688, 3367, 42, 2005, 1688, 1147, 3252, 3253, 1157,
4563, 3180, 1688, 1095, 1685, 4568, 1688, 1686, 1096, 3360,
3444, 4065, 4066, 2317, 3445, 2845, 1685, 2799, 1685, 1686,
1685, 1686, 1688, 1686, 1160, 2800, 3833, 2965, 2477, 2966,
2317, 3944, 1192, 2067, 1206, 3945, 3722, 4705, 2067, 4185,
3829, 4092, 1176, 1167, 4186, 3945, 707, 707, 707, 964,
858, 1097, 1443, 1444, 1445, 980, 841, 2799, 2776, 2777,
1200, 3830, 2863, 2778, 2779, 2187, 1262, 1098, 5127, 5128,
3065, 3832, 2967, 3835, 4204, 1263, 1516, 1007, 2187, 3419,
1417, 3841, 2478, 4130, 3207, 4144, 3844, 4131, 1688, 4145,
4236, 1273, 3846, 1099, 4237, 2968, 3848, 4238, 2972, 2973,
2800, 4237, 1397, 3850, 1277, 1769, 1415, 3851, 1332, 1400,
1401, 1402, 1403, 1404, 1405, 1406, 1407, 4050, 4412, 3446,
3181, 3182, 846, 3852, 1278, 4563, 4274, 2801, 1349, 4568,
4275, 1688, 980, 873, 2969, 4281, 2890, 53, 2890, 4282,
2800, 1363, 1364, 1279, 2903, 3616, 1281, 3436, 3467, 1886,
1685, 3435, 2455, 1686, 1282, 1685, 2920, 1176, 1686, 3529,
1402, 1403, 1404, 1405, 1406, 1407, 1688, 4368, 1688, 1283,
980, 4369, 1688, 1286, 1685, 3537, 4370, 1686, 4801, 4706,
4371, 4563, 1685, 4108, -1678, 1686, 4568, 1685, 1420, 4220,
1686, 752, 1287, 1694, 1695, 2920, 1401, 1402, 1403, 1404,
1405, 1406, 1407, 2920, 3267, 2246, 1288, 2920, 2920, 1289,
4141, 1510, 1688, 2546, 1176, 2216, 1685, 2838, 1290, 1686,
4295, 4372, 3208, 1007, 858, 4373, 980, 980, 1291, 1688,
1511, 4295, 4221, 1685, 1696, 2864, 1686, 4375, 1292, 1688,
-1678, 4376, 3209, 784, 1293, 2865, 2801, 1697, 3183, 742,
4378, 1296, 2866, 1234, 4379, 3210, 1298, 2310, 2989, 2992,
841, 1398, 1399, 1685, 4380, 1688, 1686, 4222, 4282, 4277,
997, 4385, 998, 4462, 1299, 4282, -1678, 1688, -1678, 1688,
4411, 1688, 4415, 2839, 2317, 980, 1300, 1698, 1512, 3629,
809, 5122, 5124, 3627, 4456, 1887, -1678, 3626, 4459, 1418,
1699, -1678, 980, 170, 1419, 3617, 1734, 873, 4433, 1703,
2608, 2609, 3641, 4465, 2840, -1678, 1888, 1303, 753, 4544,
4467, 2801, -1678, 1304, 2317, 980, 846, 1700, 1511, 4488,
-1678, 874, 704, 4275, 2247, 1007, 1518, 810, 1007, 3211,
3467, 1889, -1678, 3105, 2057, 2058, 1306, 969, 1513, 3207,
1388, 3712, 3105, 3105, 900, -1678, 2867, 1890, 3105, 4505,
-1678, 2801, 4162, 4282, 1307, 1267, 4471, 4509, 1039, -1678,
4512, 4282, 1421, 1769, 4282, 3367, 1610, 1422, 1389, 3062,
4473, 1388, 4474, 1308, 1309, 2841, 1512, 2970, 170, 1310,
1271, 1272, 1701, 1275, 1425, 1276, 1311, 2464, 754, 632,
4226, 3692, 980, 4526, 1611, 4528, 1458, 4527, 1007, 4527,
1769, 1688, 811, 1431, 3105, 1312, 1688, 1395, 172, 980,
1313, 964, 964, 2920, 2068, 1316, 1317, 3723, 858, 1735,
964, 964, 964, 1736, 969, 1688, 1323, 1388, 2464, -1678,
980, 1514, 705, 1688, 1324, 995, 1325, 1326, 1688, 1007,
1007, 3781, -1678, 2868, 1448, 1327, 1328, 1329, 1007, 1007,
1007, 3212, -1678, 4572, 737, 4582, 4642, 4282, 2842, 2317,
4643, 4660, -1678, 1737, 4672, 4275, 1395, 1688, 3445, 3063,
3647, 4738, 1330, 3649, 171, 4739, 3064, 3208, 980, -1678,
633, 1396, 1331, 1738, 1688, 1400, 1401, 1402, 1403, 1404,
1405, 1406, 1407, 172, 1488, 4889, 3875, 3209, -1678, 4890,
4894, 873, 4475, 1333, 3571, 1509, 1121, 4476, 4496, 4497,
3210, 4499, 1334, 42, 1688, 1704, -882, 1515, 900, 1335,
1127, 3700, 1336, 3213, 1337, 874, 4513, 4503, 4504, 1514,
1338, 4069, 4070, 4907, 4657, -1678, -1678, 4237, 4909, 4659,
4918, 1705, 4910, 3704, 4919, 1600, 4985, 1339, 1739, 2249,
4986, -1678, 1603, 5115, -1678, 1340, -831, 5116, 1646, -1678,
1341, 1342, 3982, 1343, 1516, 1344, 173, 634, 4701, 1345,
2067, 1346, 1347, -1678, 1348, -1678, 701, 707, 1352, 3349,
-1678, 821, 1353, 1356, 1647, 4844, 1357, 1361, -1678, 4163,
1365, -1678, 3881, 1366, 3211, 3871, -1678, 1367, 1626, -681,
-1678, 1368, 1127, 3874, 1369, 3874, 3983, 1370, 1395, 174,
3984, 1397, 3985, -1678, 1650, 1515, 1371, -1678, -1678, 964,
1372, 4707, 1373, -1678, 2217, -1678, 1374, -1678, 4908, 1395,
1375, 1376, 1640, 1641, 1377, 1378, 1379, -1678, 1380, 2838,
3181, 3182, 3899, 1381, 1740, 1517, 1382, 1007, 654, 3914,
-1678, 1383, 175, 1384, 2068, -1678, 3065, 53, 1414, 4314,
3986, 1416, 1516, 812, -1678, 1428, 841, 1649, 1681, 1714,
1397, 635, 1710, 1718, 1732, 1758, 1779, -1678, 1780, 2843,
1741, 4586, 1781, 1782, 1784, 813, 2890, 1792, -1678, -1678,
1794, 1793, 1803, 1819, 3941, 755, 756, -1678, 757, 758,
759, 1824, 1835, 1511, 1742, 2839, 1839, 655, 1706, -1678,
1842, -1678, 1840, 1845, 1847, 1627, 3212, 760, 1849, 1628,
-1678, 1851, 900, 845, 1852, 1877, 814, 1882, 1902, 1743,
-1678, 1169, 846, 1629, -1678, 1903, 2840, 821, -831, 1904,
656, 1234, 1919, 1922, 1395, 1925, 1926, 4621, 1937, 4622,
4623, 1940, 1941, 1947, 3062, 1942, 1948, -1678, 1951, 1949,
1953, 1512, 1409, 851, 4900, 4016, 1959, -1678, 3183, 1966,
1398, 1399, -1678, 1744, 1977, 657, 4651, 1980, 2068, 2015,
636, 4024, 4025, 1707, 2025, 2026, 176, 815, 3213, 2027,
2048, 1907, 2065, 2077, 2078, 2085, 2086, 2087, -852, 1423,
637, 2920, 2920, 2094, 1745, 3012, 2126, 2841, 2127, 2130,
2129, 2131, 1397, 2134, 2147, 4314, 2133, 2149, 2150, -1678,
2151, 1908, 841, -1678, 1518, -1678, 658, -1678, 2152, 1398,
1399, 2153, -1678, 1397, 858, -1929, 2154, 4054, 2156, 1234,
4058, 2155, 2158, -1678, 2160, 638, 4976, -1789, 2164, 3941,
639, 2179, 2191, 1544, 3063, 701, -1678, 3207, 2199, 2200,
700, 3064, 4711, 2201, 3941, 177, 4079, 2397, 2203, 2204,
1630, 2212, 1909, 2215, 1469, 1395, 1910, 2229, 700, 845,
-1678, 640, 780, 2838, 1007, 641, 701, 2216, 846, 3062,
2842, -1678, 4099, 642, 955, 959, 2234, 1395, 2235, 2240,
869, 1640, 3987, 4050, 2241, 2243, 2252, 3988, 2254, 2257,
2264, 2265, 871, 3989, 1514, 2268, 872, 873, 701, 851,
1756, 2275, 1518, 2276, 1127, 2285, 2287, 2288, -1678, 2298,
178, 2296, 179, 2297, 2068, 643, 2299, 2838, 1791, 964,
4256, 2302, 2303, 2313, 2314, -1678, 2316, 2358, 1397, 2839,
5092, 2317, 2067, 3990, 4810, -108, 2360, -1678, 2361, 3105,
659, 1322, 980, 2362, 2364, 4640, 180, 1007, 1631, 701,
-1929, 1398, 1399, 2365, 5119, 2366, 2067, -1678, 181, -1678,
2874, 2367, -1678, 2681, 2368, 2371, 2246, 2373, 1708, 644,
858, 4885, 1398, 1399, -1678, 3208, 2216, 5092, 4876, 2067,
1515, 2378, 2384, 2839, 1400, 1401, 1402, 1403, 1404, 1405,
1406, 1407, 4605, 2374, -1678, 3209, -1678, 2407, 2411, 2412,
2429, 5119, 2420, 2067, 2433, 2436, 2439, 2440, 3210, 4091,
2445, 1911, 3991, 2441, 2840, 2442, 2443, 2444, 2457, 660,
-1678, 3065, 2458, 2459, 3982, 2462, 1879, 1516, 2491, 1514,
2489, 2875, 1624, 2498, 1640, 1641, 869, 2499, 2509, 661,
2398, 2511, 2506, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
1407, 2514, 872, 873, 182, 2515, 2516, -1678, 2518, 1397,
2517, -681, 3992, 1395, 1827, 2541, 2542, 2561, 4333, 2549,
-1678, -1678, 3984, -1678, 3985, -1678, 4640, 1682, 1683, 1180,
-1678, 1397, 1181, 2562, 662, 2841, 2217, 1398, 1399, 639,
1912, 2843, 3211, 2563, 2564, 2247, 892, 3874, 2838, 2565,
4315, 2566, 2570, 4316, 2572, 2576, 2598, 663, -1678, 2599,
-1678, 2600, -1678, 898, 2876, 4164, 2614, -1678, 900, 3993,
664, 901, 3986, 2601, 2616, 2603, 2621, 4810, 2622, 2652,
4290, 2626, 665, 2628, 2629, 2630, 2644, 1610, 2661, 2646,
2722, 3941, 2651, 4273, 2654, 2655, 3941, 2665, 666, 2669,
3941, 2673, 2689, 2690, 1913, 2695, 3065, 1176, 2698, 3467,
2699, 4736, 1516, 2710, 2839, 1611, 2719, 1407, 2842, 2711,
980, 3822, 2712, 2720, 667, 1986, 1987, 1988, 1989, 1990,
2736, 2737, 2738, 2745, 2546, 1400, 1401, 1402, 1403, 1404,
1405, 1406, 1407, 1007, 2746, 2874, 3877, 980, 2754, 4876,
2758, 2760, 2766, 317, 1234, 319, 1400, 1401, 1402, 1403,
1404, 1405, 1406, 1407, 3212, 2808, 2771, 4241, 1398, 1399,
2809, 3994, 2858, 2818, 2772, 2773, 2835, 2827, 668, 2859,
2931, 3616, 2933, 1007, 4351, 2984, 2979, 2860, 2997, 3013,
1398, 1399, 2999, 5043, 3005, -683, 3006, 3015, 3016, 3017,
3018, 3019, 892, 3020, 617, 3021, 4315, 2399, 3022, 4316,
-852, 3023, 3024, 3025, 4317, 4318, 2875, 1397, 3026, 898,
3027, 3028, 4319, 2400, 900, 3029, 1914, 901, 3030, 4054,
3031, 3032, 1991, 1992, 1993, 1994, 3213, 1518, 2348, 2349,
2350, 2351, 2352, 2353, 2354, 3033, 3034, 3035, 3036, 4361,
3037, 3038, 3039, 2248, 3941, 3092, 3040, 3041, 3044, 4630,
3045, 1532, 1533, 3105, 3046, 3047, 1007, 3048, 1915, 5155,
2249, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3049,
3050, 3057, 4819, 3058, 3061, 2877, 1436, 3082, 4306, 1234,
980, 3091, 3110, 4631, -1316, 3125, 3127, 1535, 5155, 2876,
1301, 1350, 4165, 3142, 2068, 4640, 5158, 1354, 3156, 3723,
4430, 1538, -2136, 1640, 3987, 3105, 980, 1539, 1540, 3988,
3157, 1541, 3158, 3159, 3161, 3989, 3164, -681, 4350, 3179,
3193, 3196, 3175, 3197, 3219, 3205, 3206, 2216, 3225, 2843,
-1929, 3617, 3349, 3228, 1995, 1543, 1996, 1997, 1998, 3240,
3246, 3233, 2217, 3244, -681, 1999, 3258, 2849, 3242, 1544,
4647, 3261, 3270, 1545, 2216, 3990, 3257, 3368, 3293, 3294,
4317, 4318, 1518, 2850, 3295, 3374, 1398, 1399, 4347, 2217,
2748, 3361, 3377, 3307, 3309, 3324, 3355, 3357, 3369, 3382,
-539, 3791, 1550, 3795, 3271, 3371, 1685, 3376, 3383, 1686,
1734, 4485, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
3384, 4410, 3402, 3403, 4873, 3406, 3412, 4632, 3423, 3410,
3424, 3272, 955, 3425, 1400, 1401, 1402, 1403, 1404, 1405,
1406, 1407, 3426, 3427, 3429, 3428, 2000, 3452, 3451, 3453,
3460, 1176, 3941, 3461, 3991, 3462, 3941, 3455, 3547, 3531,
3536, 3548, 3539, 3540, 980, 3544, -681, 3555, 3569, 3564,
3567, 3568, 2218, 3570, 3571, 3093, 3573, 3603, 3606, 1554,
3632, 3273, 3609, 3612, 3274, 4723, 1555, 3656, 4726, 4727,
4728, 4729, 3275, -681, 2546, 3615, 1557, 1529, 3630, 2218,
3685, 955, 3706, 1234, 3992, 3690, 1556, 980, 1610, 2001,
2002, 3276, 3664, 3694, 4633, 3686, 3710, 3711, 3724, 3094,
2484, 2485, 3727, 3728, 4585, 3734, 3733, 3735, 3744, 3736,
2877, 3737, 4634, 1735, 3738, 1610, 1611, 1736, 3745, 3746,
955, 3758, 5141, 3764, 3759, 4054, 3105, 4058, 4555, 3772,
3782, 3792, 3786, 3788, 700, 2851, 4635, 3796, 3277, 3797,
3799, 3993, 3801, 1611, 3814, 3803, 1558, 780, 3804, 3805,
4821, 3815, 3857, 3861, 4099, 4966, 3853, 1737, 3878, 4831,
4832, 3862, 3856, 4580, 1559, 3864, 5137, 3882, 4840, 3872,
701, 3879, 980, 701, 3883, 3947, 3948, 1738, 1007, 955,
3955, 3884, 3898, 3901, 955, 3903, 5137, 3910, 3916, 2834,
3924, 3920, 3921, 2920, 3927, 2920, 3929, 3932, 3935, 3936,
1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 3961, 3278,
3979, 3972, 4009, 2852, 955, 5137, 3977, 4013, 5004, 1563,
4014, 4073, 4004, 4006, 4007, 960, 4085, 3791, 1564, 4019,
4028, 2003, 4029, 5004, 4095, 4040, 1640, 1641, 4100, 2853,
4102, 4090, 1739, 3994, 4110, 4126, 5013, 1688, 2004, 2005,
4127, 4133, 4137, 4139, 2219, 4138, 4146, 4152, 4140, 4156,
4157, 4160, 4161, 4149, 4178, 4183, 4198, -683, 4196, -1572,
4205, -681, -1571, 4211, 4212, 4224, 4225, 4228, 4229, 4234,
3095, 4245, 2120, 4250, 4654, 955, 955, 955, 955, 4259,
1805, 4260, 4261, 4262, 3418, 955, 4278, 4287, -681, 4291,
1806, 2854, -684, 3279, 4325, 5004, 3280, 1569, 4111, 4297,
1807, 4054, 4054, 4324, 4330, 5065, 4335, 42, 4112, 1234,
5067, 2895, 4337, 4588, 1808, 1809, 1810, 4003, 4113, 4344,
4352, 4353, 4355, 4356, 4365, 4359, 4636, 4363, 1740, 4362,
1811, 4374, 4114, 4115, 4116, 4397, 4398, 4413, 4384, 4414,
4713, 4395, 3349, 4416, 5004, 4399, 5004, 4417, 4117, 4418,
4400, 4423, 4424, 4431, 1570, 1571, 1572, 4436, 4131, 4437,
4439, 1573, 2220, 4441, 1741, 4454, 4463, 4468, 1470, 4469,
4470, 4455, 5004, 4479, 3281, 4456, 4480, 4494, 1574, 4457,
4495, 1575, 955, 4458, 4460, 4498, 4461, 3941, 1742, 2220,
4500, 4501, 4478, 2855, 991, 4506, 4489, 2811, 4536, 4523,
871, 4538, 4237, 700, 4530, 4539, 4545, 3562, 4459, 4547,
4551, 955, 4557, 1743, 5004, 5004, 4569, 1577, 4570, 5162,
4581, 4584, 4558, 1986, 1987, 1988, 1989, 1990, 4578, 4587,
4589, 2068, 4593, 4800, 700, 4579, 4597, 3131, 4602, 4598,
3012, 3012, 4603, 4607, 701, 4604, 4599, -681, 3282, 4614,
4624, 53, 4649, 4655, 4658, 4664, 4666, 1744, 3874, 4669,
2788, 4675, 2788, 4679, 2803, 2804, 700, 2806, 4683, 4689,
4685, 4687, 4690, 4836, -681, 4691, 4692, 4696, 4697, 3345,
4715, 4446, 4700, 4841, 4702, 4714, 4719, 4722, 1745, 4724,
4725, 4730, 4733, 4850, 4743, 4746, 4784, 4785, 4857, 4794,
4793, 4802, 4803, 4812, 4815, 4814, 4822, 4817, 626, 4818,
112, 627, 4823, 110, 4837, 2871, 115, 700, 3283, 2882,
4846, -429, 4864, 4779, 955, 4866, 4867, 4868, 4869, 4054,
1991, 1992, 1993, 1994, 4886, 4897, 4893, 4888, 4905, 1580,
4932, -447, 4935, 4960, 704, 4961, 3284, 2922, 2923, 2924,
2925, 4962, 4914, 4963, 4965, 780, 4974, 955, 1812, 4970,
4978, 4979, 3096, 4980, 4989, -539, 5000, 4617, 4917, 4992,
4993, 4920, 5001, 5005, 5014, 1813, 4118, 5017, 2958, 5021,
5022, 980, 5028, 5032, 980, 5030, 5023, 5033, 5053, 5036,
-2538, 5044, 5046, 4119, 5058, 5056, 5073, 4936, 5066, 5074,
5068, 5069, 5075, 5079, 5103, 5109, 5084, 5093, 5112, 5107,
5113, 4967, 4779, 4779, 5125, 5126, 5130, 5131, 5133, 5140,
5144, 5142, 5143, 5145, 980, 5163, 955, 955, 4859, 3681,
3614, 3605, 4554, 3611, 4800, 955, 955, 955, 955, 955,
955, 3608, 1995, 4556, 1996, 1997, 1998, 4552, 955, 955,
4072, 955, 955, 1999, 705, 3602, 955, 955, 4564, 3926,
955, 955, 955, 955, 4574, 955, 955, 1673, 4780, 4789,
5011, 4576, 5012, 955, 955, 4871, 955, 955, 955, 955,
955, 4681, 955, 955, 955, 955, 955, 955, 955, 955,
955, 5135, 955, 5164, 792, 955, 955, 1245, 2202, 3191,
955, 4125, 3149, 4757, 955, 955, 955, 4758, 5050, 4760,
4761, 4763, 4914, 1814, 4120, 4764, 5148, 955, 955, 955,
4779, 4779, 955, 4998, 4765, 955, 955, 955, 955, 955,
955, 4121, 4766, 5041, 2000, 4767, 4768, 4779, 5051, 4771,
4772, 4773, 5010, 955, 955, 5009, 955, 955, 955, 955,
955, 955, 955, 955, 955, 955, 955, 4780, 4780, 955,
4084, 2883, 2887, 955, 1519, 955, 4383, 3680, 4271, 3056,
4396, 3653, 3652, 5055, 3655, 1815, 4239, 4615, 4982, 4508,
5063, 4988, 5020, 4987, 4732, 3054, 2987, 4094, 3651, 4285,
4332, 3965, 1816, 4122, 4286, 4012, 4010, 2001, 2002, 707,
4779, 4529, 4334, 4796, 3855, 3174, 4734, 955, 4627, 4671,
4123, 4641, 4674, 2068, 4648, 4779, 4994, 3459, 2382, 5105,
5114, 3525, 4298, 4522, 5110, 4088, 3400, 3393, 4779, 3643,
4542, 2990, 2988, 980, 2991, 2615, 4778, 2068, 2189, 1256,
2613, 3178, 4027, 2359, 3530, 3176, 2311, 3703, 3572, 3165,
4136, 967, 701, 701, 701, 2540, 1166, 4779, 2180, 3411,
2068, 2744, 2729, 3866, 4709, 4780, 4780, 4698, 1165, 4779,
4779, 3365, 2391, 4977, 3201, 3290, 5156, 2024, 3202, 5121,
3203, 3204, 4780, 3239, 2068, 5016, 4595, 4779, 4973, 112,
4444, 5123, 110, 4804, 4047, 4805, 4180, 4779, 1976, 4699,
1261, 3761, 4779, 4451, 4606, 5156, 1944, 4626, 4023, 2813,
669, 4703, 2422, 1830, 1491, 1778, 4779, 3137, 4779, 1492,
3701, 3702, 4432, 1493, 4148, 4778, 4778, 2788, 4425, 1487,
1494, 3248, 2188, 2589, 4779, 1239, 4779, 3144, 4779, 2003,
2604, 3551, 3249, 2513, 4971, 4780, 3709, 4263, 4502, 5139,
5015, 5159, 4348, 3417, 4429, 4596, 2004, 2005, 4390, 2560,
4780, 2392, 4969, 788, 4779, 3601, 789, 1863, 1862, 3238,
2557, 2571, 1159, 4780, 2556, 749, 3172, 3388, 1768, 3083,
2146, 3084, 4583, 4684, 1164, 1826, 4779, 4779, 648, 649,
1676, 4983, 1471, 1677, 1678, 4089, 4354, 4571, 4393, 0,
4034, 0, 4780, 0, 0, 0, 4779, 4779, 0, 0,
0, 4779, 0, 0, 4780, 4780, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 4780, 4778, 4778, 0, 0, 955, 0, 955,
955, 0, 4780, 0, 0, 0, 0, 4780, 0, 0,
4778, 955, 955, 0, 955, 955, 0, 0, 0, 0,
0, 4780, 0, 4780, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4780,
0, 4780, 0, 4780, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4780,
0, 0, 0, 4778, 0, 0, 0, 0, 0, 3401,
0, 0, 0, 0, 0, 0, 0, 0, 4778, 0,
0, 4780, 4780, 0, 0, 0, 0, 0, 0, 0,
0, 4778, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4780, 4780, 0, 0, 0, 4780, 0, 0, 0,
3422, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4778, 3430, 0, 3437, 3438, 3439, 3440, 0, 3442, 3443,
0, 0, 4778, 4778, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 700, 0,
4778, 700, 0, 0, 0, 0, 0, 0, 780, 955,
4778, 0, 0, 955, 0, 4778, 780, 0, 3092, 955,
0, 0, 0, 0, 1532, 1533, 0, 0, 955, 4778,
0, 4778, 0, 0, 0, 0, 0, 0, 3535, 0,
0, 0, 0, 0, 0, 0, 0, 4778, 0, 4778,
3541, 4778, 0, 0, 0, 0, 0, 0, 0, 0,
1535, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1538, 0, 0, 4778, 0, 0,
1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4778,
4778, 0, 0, 2318, 0, 0, 0, 0, 1543, 0,
0, 955, 0, 0, 0, 955, 0, 0, 0, 4778,
4778, 0, 1544, 955, 4778, 955, 1545, 0, 2788, 0,
0, 2788, 2788, 0, 0, 2788, 2788, 2788, 2788, 2788,
2788, 2788, 2788, 0, 0, 2788, 0, 2788, 0, 2788,
3597, 0, 0, -539, 0, 1550, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 2319, 2320, 2321, 2322,
2323, 1439, 1440, 2324, 2325, 2326, 0, 2327, 2328, 2329,
2330, 2331, 2332, 2333, 2334, 2335, 2336, 0, 2337, 2338,
0, 0, 0, 701, 0, 0, 2985, 0, 0, 0,
0, 1529, 0, 1530, 0, 0, 0, 0, 0, 955,
955, 955, 0, 0, 0, 0, 1532, 1533, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3093, 0,
0, 0, 1554, 0, 0, 0, 0, 0, 955, 1555,
0, 0, 0, 955, 0, 0, 0, 1534, 0, 0,
0, 955, 1535, 955, 0, 0, 0, 0, 0, 1556,
0, 0, 0, 0, 0, 0, 1538, 0, 0, 0,
0, 0, 1539, 1540, 0, 0, 1541, 0, 0, 0,
0, 0, 700, 0, 0, 1542, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1544, 1066, 1441, 1442, 1545, 1558,
0, 0, 0, 0, 0, 0, 1546, 0, 0, 0,
0, 0, 0, 2986, 0, 0, 0, 1559, 0, 0,
0, 1549, 0, 0, 0, 0, 0, 1550, 0, 0,
0, 0, 0, 0, 0, 0, 2881, 0, 0, 2881,
2881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1552, 0, 0, 1129, 0, 0, 0, 0, 0,
0, 0, 1563, 0, 0, 0, 0, 0, 960, 0,
0, 1564, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1066, 1554, 0, 0, 0, 0, 0,
0, 1555, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1556, 0, 3095, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 955, 0, 0, 0,
0, 0, 0, 0, 1557, 0, 0, 0, 0, 0,
1569, 0, 0, 0, 0, 0, 0, 1284, 0, 0,
42, 0, 0, 0, 0, 0, 0, 3891, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1558, 0, 3902, 0, 0, 0, 1315, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1559,
0, 0, 3919, 1560, 0, 0, 0, 1570, 1571, 1572,
0, 0, 0, 0, 1573, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1532, 1533, 955, 0, 0, 0,
955, 1574, 0, 955, 1575, 955, 955, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1562, 0, 0,
0, 0, 2339, 2340, 1563, 0, 0, 0, -833, -833,
1535, 1390, 0, 1564, 0, 0, 0, 0, -833, 0,
1577, 0, 0, 2341, 1538, 2342, 2343, 2344, 0, 0,
1539, 1540, 0, 0, 1541, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 53, 0, 0, 0, 1543, 0,
1566, 0, 955, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1544, 0, 0, 0, 1545, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1569, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1550, 0, 0, 0, 0,
700, 700, 700, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 780,
2788, 0, 1580, 0, 1680, 0, 0, 0, 0, 1570,
1571, 1572, 0, 0, 0, 0, 1573, 0, 0, 0,
0, 0, 0, 0, 4080, 962, 0, 0, -539, 0,
0, 0, 0, 1574, 0, 0, 1575, 0, 0, 0,
0, 0, 1554, 0, 0, 0, 0, 0, 0, 1555,
0, 0, 955, 0, 0, 0, 0, 0, 0, 0,
0, 955, 955, 0, 0, 0, 0, 0, 0, 1556,
0, 0, 1577, 0, 0, 0, 0, 0, 0, 0,
0, 955, 955, 0, 955, 0, 0, 955, 955, 955,
955, 955, 0, 0, 955, 0, 0, 0, 0, 0,
0, 0, 0, 955, 0, 0, 1578, 0, 955, 1579,
955, 0, 955, 955, 0, 955, 955, 1837, 0, 0,
955, 955, 955, 0, 0, 0, 955, 955, 955, 1558,
955, 0, 955, 0, 955, 0, 955, 0, 955, 0,
0, 0, 0, 955, 0, 0, 0, 1559, 0, 0,
1875, 0, 0, 0, 0, 0, 0, 0, 0, 955,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 955, 0, 0, 0,
955, 0, 955, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1580, 0, 0, 0, 0, 0,
0, 0, 1563, 0, 0, 0, 0, 0, 0, 0,
0, 1564, 0, 0, 0, 0, 0, 0, 0, 1957,
1958, 0, 0, 0, 0, 0, 0, 0, 1968, 1969,
0, 0, 1972, 1973, 0, 0, 0, 0, 0, 0,
0, 1981, 1982, 0, 1983, 1984, 0, 955, 0, 2008,
0, 0, 0, 2017, 2018, 2019, 2020, 0, 2022, 0,
0, 0, 0, 0, 0, 0, 2030, 2031, 0, 2034,
2035, 0, 0, 0, 0, 2039, 0, 0, 2042, 2043,
2044, 2045, 2046, 2047, 0, 2049, 0, 0, 2052, 2053,
1569, 0, 0, 2056, 4258, 0, 0, 2059, 2063, 2064,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071, 2072, 2073, 0, 0, 0, 0, 0, 2079, 2080,
2081, 2082, 2083, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2095, 0, 0, 0,
0, 0, 0, 0, 0, 1532, 1533, 1570, 1571, 1572,
0, 0, 0, 0, 1573, 0, 2114, 0, 2119, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1574, 0, 0, 1575, 1, 4313, 0, 2, 0,
0, 1535, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3, 0, 1538, 0, 4, 0, 0,
2165, 1539, 1540, 0, 0, 1541, 0, 0, 0, 0,
1577, 5, 6, 0, 0, 0, 0, 0, 0, 7,
0, 0, 0, 0, 8, 9, 0, 0, 0, 1543,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 1544, 0, 0, 0, 1545, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 0, 0, 0, 0, 0, 2788, 2788, 2788, 2788,
0, 0, 0, 0, 0, 0, 1550, 3891, 0, 0,
0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
0, 4402, 13, 14, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 15, 16, 0, 0, 0, 0,
0, 700, 0, 0, 0, 0, 0, 17, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 18, 1580, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4434, 0, 0, 0, 0, 0,
955, 19, 955, 1554, 955, 0, 955, 0, 0, 0,
1555, 0, 0, 0, 0, 0, 0, 0, 0, 20,
0, 21, 0, 0, 0, 0, 22, 0, 0, 23,
1556, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 0, 0, 24, 0, 0, 0, 0, 0,
0, 0, 25, 0, 0, 26, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1066, 0, 27, 955, 0, 0, 0,
2394, 0, 2395, 2396, 0, 0, 4490, 0, 0, 0,
1558, 0, 28, 0, 0, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1559, 0,
0, 0, 0, 0, 0, 0, 955, 1138, 1209, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 955, 0,
0, 0, 0, 1210, 766, 0, 955, 0, 0, 0,
0, 0, 0, 0, 1211, -1937, 0, 0, 0, 0,
0, 0, 0, 1563, 0, 0, 0, 0, 0, 0,
0, 0, 1564, 955, 955, 0, 0, 0, 0, 1212,
0, 1213, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1214, 0, 30, 0, 0, 0, 0, 0, 955,
0, 0, 0, 0, 4546, 0, 0, 0, 0, 955,
0, 955, 0, 955, 0, 0, 0, 2788, 0, 0,
0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 32, 4573, -1929,
1215, 0, 0, 0, 0, 1216, 0, 0, 1217, 0,
0, 1569, 2568, 0, 0, 955, 1875, 0, 1218, 33,
0, 0, 34, 0, 35, 0, 0, 36, 0, 0,
0, 2575, 0, 0, 0, 0, 0, 37, 38, 0,
1219, 0, 1220, 0, 0, 0, 0, 39, 0, 40,
0, 1221, 0, 1222, 0, 0, 0, 0, 41, 0,
0, 0, 0, 0, 42, 0, 0, 0, 1570, 1571,
1572, 0, 43, 0, 0, 1573, 0, 44, 45, 46,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 1574, 0, 0, 1575, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47, 0, 0, 0, 2627, 4646, 0, 48, 2631, 0,
0, 0, 0, 0, 1223, 0, 0, 0, 2627, 0,
0, 1577, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1224, 0,
0, 49, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 50, 0, 0, 0, 51, 0, 0,
0, 0, 0, 0, 0, 52, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 53, 0,
0, 0, 2702, 2704, 2706, 0, 54, 0, 0, 0,
0, 0, 0, 1225, 0, 0, 0, 0, 0, 0,
0, 0, 55, 56, 57, 58, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2740, 59, 0, 0,
1226, 0, 0, 1580, 2742, 0, 2743, 0, 0, 0,
0, 1227, 1228, 0, -1933, 1229, 1230, 0, 0, 0,
0, 0, 0, 2881, 2881, 0, 0, 0, 0, 0,
0, 0, 0, 0, 60, 0, 1231, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 0, 955, 0, 955, 0, 0, 0, 61,
0, 0, 0, 0, 4830, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1233, 0, 0, 0, 0, 0, 0,
0, 0, 0, 955, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2606, 0, 0, 0, 1234,
0, 0, 0, 0, 0, 701, 0, 955, 955, 0,
0, 0, 0, 0, 0, -1937, 0, 0, 1235, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 0, 0, 0, 0, 0, 0, -1933, 0,
0, 0, 4915, 4916, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 955, 0, 955, 0, 1, 955, 955, 2, 955,
0, 0, 0, 0, 0, 0, -2606, 0, 0, 3014,
955, 0, 0, 1236, 0, 955, 0, 4, 955, 0,
0, 955, 955, 0, 0, 0, 0, 0, 0, 4972,
0, 5, 6, 0, 0, 0, 0, 0, 0, 7,
0, 0, 0, 955, 8, 9, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3122,
0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 13, 14, 0, 0, 955, 0, 0, 0,
0, 0, 0, 0, 15, 16, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3173, 0, 5071, 0, 20,
0, 21, 0, 0, 0, 0, 22, 0, 0, 23,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 24, 0, 955, 955, 0, 0,
0, 0, 25, 0, 0, 26, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5120, 0, 0, 0,
0, 0, 0, 0, 0, 27, 0, 0, 2881, 2881,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 28, 0, 0, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 955, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955, 0, 0, 0, 0, 3260, 0, 0, 0, 0,
955, 0, 0, 0, 3268, 3269, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 955, 0, 955, 3296, 3297, 0, 3298, 0, 0,
3301, 3302, 3303, 3304, 3305, 0, 0, 0, 0, 0,
0, 0, 0, 30, 0, 0, 3311, 0, 0, 0,
0, 3312, 0, 3313, 0, 3314, 3315, 0, 3316, 0,
0, 0, 0, 3321, 3322, 3323, 0, 0, 0, 3326,
3327, 3328, 0, 3329, 0, 3331, 31, 3333, 0, 3335,
0, 3336, 0, 0, 0, 0, 3339, 32, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
0, 0, 34, 0, 35, 0, 0, 36, 2114, 0,
0, 0, 0, 0, 0, 0, 0, 37, 38, 0,
0, 0, 0, 0, 0, 0, 0, 39, 0, 40,
0, 0, 0, 0, 0, 0, 0, 0, 41, 0,
0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
0, 0, 43, 0, 0, 0, 0, 44, 45, 46,
0, 0, 0, 0, 0, 0, 0, 0, 955, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47, 0, 0, 0, 0, 0, 955, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 49, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 50, 0, 0, 0, 51, 0, 0,
0, 0, 0, 0, 0, 52, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 53, 0,
0, 0, 0, 0, 0, 955, 54, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 955, 0, 0, 955, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 59, 955, 0,
1528, 0, 0, 0, 0, 1529, 0, 1530, 0, 0,
1531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532, 1533, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 60, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1534, 0, 0, -833, -833, 1535, 1536, 0, 0,
0, 0, 1537, 0, -833, 0, 0, 0, 0, 61,
1538, 0, 0, 0, 0, 0, 1539, 1540, 0, 0,
1541, 0, 0, 0, 0, 0, 0, 0, 0, 1542,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1543, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1544, 0,
0, 0, 1545, 0, 0, 0, 955, 0, 0, 0,
1546, 1547, 0, 955, 0, 0, 0, 1548, 0, 0,
0, 0, 0, 0, 0, 1549, 0, 0, 0, 0,
0, 1550, 0, 0, 0, 0, 0, 0, 0, 3675,
0, 0, 1551, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 955, 0, 0,
0, 0, 4775, 0, 0, 1552, 0, 0, 4786, 0,
0, 0, 0, 3697, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 1553, 0, 1554, 3731,
0, 0, 0, 0, 0, 1555, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1556, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 0, 0, 0, 1875,
0, 4775, 4775, 0, 0, 0, 0, 0, 1557, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3777, 0, 0, 0, 0, 0, 0, 0, 3780,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 700, 0, 1558, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 3808, 3809, 0, 0,
0, 0, 0, 1559, 0, 0, 0, 1560, 0, 0,
0, 0, 0, 0, 0, 955, 0, 0, 0, 0,
0, 0, 3834, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3845, 0, 3847, 955, 3849, 955, 0, 0,
0, 0, 0, 0, 0, 1561, 0, 955, 0, 4775,
4775, 1562, 0, 0, 0, 0, 0, 0, 1563, 0,
0, 0, 0, 0, 0, 0, 4775, 1564, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1565,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1566, 1567, 1568, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 955, 0, 4775,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4775, 955, 1569, 0, 0, 0,
0, 0, 0, 3933, 0, 0, 0, 4775, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 0, 0, 0, 0,
0, 0, 0, 0, 0, 955, 4775, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4775, 4775,
0, 0, 0, 1570, 1571, 1572, 0, 0, 0, 0,
1573, 0, 0, 0, 0, 0, 4775, 0, 0, 0,
0, 0, 0, 955, 0, 0, 4775, 1574, 0, 0,
1575, 4775, 0, 0, 0, 0, 0, 0, 955, 0,
0, 0, 0, 0, 0, 4775, 0, 4775, 0, 0,
0, 0, 0, 1576, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4775, 0, 4775, 1577, 4775, 0, 1528,
0, 0, 0, 0, 1529, 0, 1530, 0, 0, 1531,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1532,
1533, 0, 0, 4775, 0, 0, 0, 0, 0, 0,
1578, 0, 0, 1579, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4775, 4775, 0, 0, 0,
1534, 0, 955, 0, 0, 1535, 1536, 0, 0, 0,
955, 1537, 0, 0, 0, 4775, 4775, 0, 0, 1538,
4775, 0, 0, 0, 0, 1539, 1540, 0, 0, 1541,
0, 0, 0, 0, 0, 0, 0, 0, 1542, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3468, 3469,
0, 0, 0, 1543, 3470, 0, 3471, 0, 3472, 3473,
0, 0, 0, 0, 0, 0, 0, 1544, 1580, 1581,
1582, 1545, 0, 0, 0, 0, 3474, 0, 0, 1546,
1547, 0, 0, 0, 0, 0, 1548, 0, 0, 0,
0, 0, 0, 0, 1549, 0, 0, 0, 0, 0,
1550, 0, 0, 0, 0, 0, 3697, 0, 0, 0,
0, 1551, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3475, 0, 0, 3476,
0, 0, 0, 0, 1552, 0, 0, 3477, 0, 0,
4174, 4177, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3276, 0, 0, 0,
0, 0, 0, 4190, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3478, 0, 1553, 0, 1554, 0, 0,
0, 0, 0, 0, 1555, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4201, 0, 2165, 0, 0, 4206,
4207, 3479, 0, 3480, 1556, 0, 0, 0, 0, 0,
0, 0, 0, 4214, 0, 0, 0, 0, 4216, 3481,
3482, 4217, 0, 0, 4218, 4219, 0, 1557, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4231, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3483, 0, 0, 1558, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3484, 0, 0, 0, 0, 0,
0, 0, 1559, 0, 0, 0, 1560, 0, 0, 0,
0, 0, 0, 3485, 0, 0, 0, 0, 0, 0,
0, 0, 3486, 3487, 0, 3488, 0, 3468, 3469, 0,
0, 0, 0, 3470, 0, 3471, 0, 3472, 3473, 4280,
0, 0, 0, 0, 1561, 0, 0, 0, 0, 0,
1562, 0, 0, 0, 0, 3474, 0, 1563, 0, 0,
0, 0, 3489, 3490, 3491, 0, 1564, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3492, 3493, 3494, 0, 0, 0, 0, 3495, 0,
0, 3496, 0, 0, 0, 0, 0, 0, 1565, 0,
0, 0, 0, 0, 0, 3475, 0, 0, 3476, 3497,
3498, 0, 0, 1566, 1567, 1568, 3477, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3276, 0, 0, 0, 4357,
4358, 0, 0, 3499, 3500, 1569, 0, 0, 0, 0,
0, 0, 3478, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3281,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479, 0, 3480, 0, 0, 0, 0, 4891, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3481, 3482,
0, 0, 1570, 1571, 1572, 0, 0, 0, 0, 1573,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1574, 0, 0, 1575,
0, 3501, 0, 3697, 0, 3502, 0, 0, 0, 0,
3483, 0, 0, 3697, 0, 0, 0, 3503, 0, 0,
0, 0, 1576, 3484, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4438, 1577, 4440, 0, 0, 0,
0, 0, 3485, 0, 0, 0, 0, 0, 0, 0,
0, 3486, 3487, 0, 3488, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1578,
0, 0, 1579, 0, 0, 0, 0, 3504, 0, 0,
3505, 0, 0, 3506, 3507, 3508, 3509, 0, 0, 0,
0, 3489, 3490, 3491, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3468, 3469,
3492, 3493, 3494, 0, 3470, 0, 3471, 3495, 3472, 3473,
3496, 0, 0, 0, 0, 0, 3510, 3511, 0, 0,
0, 0, 0, 0, 0, 0, 3474, 0, 3497, 3498,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3512, 0, 0, 1580, 1581, 1582,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3499, 3500, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3475, 0, 0, 3476,
0, 4534, 0, 0, 0, 0, 0, 3477, 3281, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3276, 0, 0, 4540,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3478, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5080, 0, 0,
3501, 3479, 0, 3480, 3502, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3503, 0, 0, 3481,
3482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4174, 0,
0, 3483, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3484, 2165, 3504, 0, 4601, 3505,
0, 0, 3506, 3507, 3508, 3509, 0, 0, 0, 0,
0, 4174, 0, 3485, 0, 0, 0, 0, 0, 0,
0, 0, 3486, 3487, 0, 3488, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3510, 3511, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3489, 3490, 3491, 0, 0, 0, 0, 0,
0, 0, 0, 3512, 0, 0, 0, 0, 0, 0,
0, 3492, 3493, 3494, 0, 0, 0, 0, 3495, 0,
0, 3496, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3497,
3498, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2165,
0, 0, 0, 3499, 3500, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3281,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4745, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3501, 0, 0, 0, 3502, 0, 0, 4813, 0,
0, 0, 0, 0, 0, 0, 0, 3503, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4845, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3504, 0, 0,
3505, 0, 0, 3506, 3507, 3508, 3509, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4895, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3510, 3511, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4930, 0,
4931, 0, 0, 0, 3512, 0, 0, 0, 0, 0,
4939, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5002, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5007, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5026, 0,
0, 0, 0, 0, 0, 0, 0, 0, 194, 195,
0, 817, 197, 198, 199, 200, 1869, 0, 201, 0,
0, 0, 0, 202, 0, 0, 818, 0, 204, 205,
206, 207, 819, 209, 0, 210, 5057, 0, 1870, 211,
821, 822, 823, 212, 824, 0, 213, 214, 215, 0,
216, 5072, 217, 218, 0, 0, 219, 825, 826, 220,
221, 0, 222, 223, 827, 828, 225, 0, 226, 227,
228, 229, 829, 231, 0, 830, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 831,
832, 252, 0, 0, 0, 833, 253, 834, 0, 254,
835, 836, 0, 255, 256, 257, 837, 838, 839, 0,
0, 0, 0, 840, 260, 841, 0, 0, 1871, 261,
262, 0, 263, 0, 0, 5157, 0, 0, 264, 265,
266, 267, 268, 3697, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 843, 0, 287, 288, 289, 290,
291, 844, 845, 292, 293, 0, 294, 295, 296, 297,
298, 846, 0, 299, 300, 0, 0, 0, 847, 302,
0, 303, 0, 0, 0, 304, 0, 305, 848, 307,
849, 0, 309, 0, 310, 0, 850, 0, 311, 312,
0, 313, 851, 0, 314, 315, 0, 0, 0, 852,
317, 318, 319, 853, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 854, 324, 325, 326, 855, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 856, 337, 338, 0, 0, 0,
0, 0, 857, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 858, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 859, 367, 368, 369, 370, 860, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 861, 378,
0, 0, 862, 380, 863, 381, 0, 382, 864, 865,
866, 867, 868, 387, 388, 389, 390, 391, 0, 869,
392, 393, 0, 0, 394, 395, 396, 397, 398, 870,
1062, 871, 399, 400, 0, 872, 873, 401, 0, 402,
403, 1872, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
874, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 875, 876, 422, 877, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
878, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 879, 880,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 881, 0,
882, 466, 467, 468, 469, 0, 470, 1873, 884, 472,
473, 474, 475, 0, 885, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 886, 887, 506,
507, 0, 0, 508, 509, 888, 511, 512, 513, 889,
890, 514, 515, 516, 517, 891, 518, 519, 0, 0,
520, 521, 522, 523, 0, 892, 524, 525, 0, 893,
894, 895, 896, 0, 0, 0, 0, 0, 530, 531,
0, 897, 898, 899, 533, 534, 0, 900, 535, 536,
901, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 902, 545, 0, 0, 903,
904, 905, 546, 906, 547, 0, 0, 548, 907, 0,
908, 549, 0, 550, 551, 909, 910, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 911, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 912, 913,
0, 568, 569, 570, 914, 571, 572, 573, 0, 574,
915, 916, 575, 917, 576, 0, 918, 919, 920, 921,
922, 577, 578, 0, 923, 579, 924, 580, 925, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 1874, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
0, 0, 0, 926, 927, 0, 0, 0, 0, 928,
0, 929, 0, 0, 0, 930, 0, 0, 0, 931,
932, 194, 195, 0, 817, 197, 198, 199, 200, 0,
0, 201, 0, 0, 0, 0, 202, 0, 0, 818,
0, 204, 205, 206, 207, 819, 209, 0, 210, 0,
0, 820, 211, 821, 822, 823, 212, 824, 0, 213,
214, 215, 2060, 216, 0, 217, 218, 0, 0, 219,
825, 826, 220, 221, 0, 222, 223, 827, 828, 225,
0, 226, 227, 228, 229, 829, 231, 0, 830, 233,
0, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 0, 245, 246, 0, 247, 248, 249, 250,
251, 0, 831, 832, 252, 0, 0, 0, 833, 253,
834, 0, 254, 835, 836, 0, 255, 256, 257, 837,
838, 839, 0, 0, 0, 0, 840, 260, 841, 0,
0, 842, 261, 262, 0, 263, 0, 0, 0, 0,
0, 264, 265, 266, 267, 268, 0, 0, 0, 269,
0, 0, 270, 271, 272, 0, 0, 0, 273, 0,
274, 275, 0, 276, 277, 278, 0, 0, 279, 280,
0, 281, 282, 283, 284, 285, 286, 843, 0, 287,
288, 289, 290, 291, 844, 845, 292, 293, 0, 294,
295, 296, 297, 298, 846, 0, 299, 300, 0, 0,
0, 847, 302, 0, 303, 0, 0, 0, 304, 0,
305, 848, 307, 849, 0, 309, 0, 310, 0, 850,
0, 311, 312, 0, 313, 851, 0, 314, 315, 0,
0, 0, 852, 317, 318, 319, 853, 0, 320, 321,
322, 0, 0, 323, 0, 0, 0, 854, 324, 325,
326, 855, 0, 0, 327, 0, 0, 0, 328, 329,
0, 330, 331, 0, 0, 0, 332, 0, 333, 0,
0, 334, 335, 0, 2061, 336, 0, 856, 337, 338,
0, 0, 0, 0, 0, 857, 340, 0, 341, 0,
342, 0, 343, 344, 0, 0, 858, 0, 0, 0,
0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 859, 367, 368, 369, 370,
860, 371, 372, 0, 0, 0, 0, 373, 374, 375,
376, 861, 378, 0, 0, 862, 380, 863, 381, 0,
382, 864, 865, 866, 867, 868, 387, 388, 389, 390,
391, 0, 869, 392, 393, 0, 0, 394, 395, 396,
397, 398, 870, 1062, 871, 399, 400, 0, 872, 873,
401, 0, 402, 403, 0, 404, 405, 406, 0, 0,
407, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408, 409, 410, 874, 411, 0, 412, 0, 413, 414,
415, 416, 417, 418, 419, 875, 876, 422, 877, 423,
0, 424, 425, 426, 0, 427, 0, 428, 429, 430,
431, 432, 0, 878, 434, 435, 0, 0, 436, 0,
0, 0, 437, 438, 0, 439, 440, 0, 0, 441,
442, 443, 444, 445, 0, 446, 447, 0, 448, 449,
450, 879, 880, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 0, 460, 461, 0, 462, 463, 464,
0, 881, 0, 882, 466, 467, 468, 469, 0, 470,
883, 884, 472, 473, 474, 475, 0, 885, 477, 0,
0, 0, 478, 479, 480, 481, 0, 0, 0, 482,
0, 0, 0, 483, 0, 484, 485, 486, 487, 0,
488, 489, 490, 491, 492, 0, 0, 0, 0, 0,
493, 494, 495, 0, 496, 0, 0, 497, 0, 0,
498, 0, 499, 0, 500, 501, 502, 503, 504, 505,
886, 887, 506, 507, 0, 0, 508, 509, 888, 511,
512, 513, 889, 890, 514, 515, 516, 517, 891, 518,
519, 0, 0, 520, 521, 522, 523, 0, 892, 524,
525, 0, 893, 894, 895, 896, 0, 0, 0, 0,
2062, 530, 531, 0, 897, 898, 899, 533, 534, 0,
900, 535, 536, 901, 537, 538, 0, 539, 540, 0,
0, 541, 0, 0, 542, 0, 543, 0, 902, 545,
0, 0, 903, 904, 905, 546, 906, 547, 0, 0,
548, 907, 0, 908, 549, 0, 550, 551, 909, 910,
0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
557, 558, 559, 560, 0, 0, 911, 0, 0, 562,
563, 564, 565, 566, 0, 567, 0, 0, 0, 0,
0, 912, 913, 0, 568, 569, 570, 914, 571, 572,
573, 0, 574, 915, 916, 575, 917, 576, 0, 918,
919, 920, 921, 922, 577, 578, 0, 923, 579, 924,
580, 925, 581, 582, 0, 0, 0, 583, 584, 585,
586, 587, 588, 589, 590, 0, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 0, 0, 0, 601,
602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
612, 613, 614, 0, 0, 0, 926, 927, 0, 0,
0, 0, 928, 0, 929, 0, 0, 0, 930, 0,
0, 0, 931, 932, 194, 195, 0, 817, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 818, 0, 204, 205, 206, 207, 819, 209,
0, 210, 0, 0, 820, 211, 821, 822, 823, 212,
824, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 825, 826, 220, 221, 0, 222, 223,
827, 828, 225, 0, 226, 227, 228, 229, 829, 231,
0, 830, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 831, 832, 252, 0, 0,
0, 833, 253, 834, 0, 254, 835, 836, 0, 255,
256, 257, 837, 838, 839, 0, 0, 0, 0, 840,
260, 841, 0, 0, 842, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
843, 0, 287, 288, 289, 290, 291, 844, 845, 292,
293, 0, 294, 295, 296, 297, 298, 846, 0, 299,
300, 0, 0, 0, 847, 302, 0, 303, 0, 0,
0, 304, 0, 305, 848, 307, 849, 0, 309, 0,
310, 0, 850, 0, 311, 312, 0, 313, 851, 0,
314, 315, 0, 0, 0, 852, 317, 318, 319, 853,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
854, 324, 325, 326, 855, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
856, 337, 338, 0, 0, 0, 0, 0, 857, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 858,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 859, 367,
368, 369, 370, 860, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 861, 378, 0, 0, 862, 380,
863, 381, 0, 382, 864, 865, 866, 867, 868, 387,
388, 389, 390, 391, 0, 869, 392, 393, 0, 0,
394, 395, 396, 397, 398, 870, 1062, 871, 399, 400,
0, 872, 873, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 874, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 875, 876,
422, 877, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 878, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 879, 880, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 881, 0, 882, 466, 467, 468,
469, 0, 470, 883, 884, 472, 473, 474, 475, 0,
885, 477, 42, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 886, 887, 506, 507, 0, 0, 508,
509, 888, 511, 512, 513, 889, 890, 514, 515, 516,
517, 891, 518, 519, 0, 0, 520, 521, 522, 523,
0, 892, 524, 525, 0, 893, 894, 895, 896, 0,
0, 0, 0, 0, 530, 531, 0, 897, 898, 899,
533, 534, 0, 900, 535, 536, 901, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 902, 545, 0, 0, 903, 904, 905, 546, 906,
547, 0, 0, 548, 907, 0, 908, 549, 0, 550,
551, 909, 910, 0, 0, 0, 53, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 911,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 912, 913, 0, 568, 569, 570,
914, 571, 572, 573, 0, 574, 915, 916, 575, 917,
576, 0, 918, 919, 920, 921, 922, 577, 578, 0,
923, 579, 924, 580, 925, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 0, 0, 0, 926,
927, 0, 0, 0, 0, 928, 0, 929, 0, 0,
0, 930, 0, 0, 0, 931, 932, 194, 195, 0,
817, 197, 198, 199, 200, 0, 0, 201, 0, 0,
0, 0, 202, 0, 0, 818, 0, 204, 205, 206,
207, 819, 209, 0, 210, 0, 0, 820, 211, 821,
822, 823, 212, 824, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 825, 826, 220, 221,
0, 222, 223, 827, 828, 225, 0, 226, 227, 228,
229, 829, 231, 0, 830, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 0, 247, 248, 249, 250, 251, 0, 831, 832,
252, 0, 0, 0, 833, 253, 834, 0, 254, 835,
836, 0, 255, 256, 257, 837, 838, 839, 0, 0,
0, 0, 840, 260, 841, 0, 0, 842, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 0, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 843, 0, 287, 288, 289, 290, 291,
844, 845, 292, 293, 0, 294, 295, 296, 297, 298,
846, 0, 299, 300, 0, 0, 0, 847, 302, 0,
303, 0, 0, 0, 304, 0, 305, 848, 307, 849,
0, 309, 0, 310, 0, 850, 0, 311, 312, 0,
313, 851, 0, 314, 315, 0, 0, 0, 852, 317,
318, 319, 853, 0, 320, 321, 322, 0, 0, 323,
0, 0, 0, 854, 324, 325, 326, 855, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 0, 0, 334, 335, 0,
0, 336, 0, 856, 337, 338, 0, 0, 0, 0,
0, 857, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 858, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 859, 367, 368, 369, 370, 860, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 861, 378, 0,
0, 862, 380, 863, 381, 0, 382, 864, 865, 866,
867, 868, 387, 388, 389, 390, 391, 0, 869, 392,
393, 0, 0, 394, 395, 396, 397, 398, 870, 1062,
871, 399, 400, 0, 872, 873, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 874,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 875, 876, 422, 877, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 878,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 879, 880, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 881, 0, 882,
466, 467, 468, 469, 0, 470, 883, 884, 472, 473,
474, 475, 0, 885, 477, 0, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 0, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 886, 887, 506, 507,
0, 0, 508, 509, 888, 511, 512, 513, 889, 890,
514, 515, 516, 517, 891, 518, 519, 0, 0, 520,
521, 522, 523, 0, 892, 524, 525, 0, 893, 894,
895, 896, 0, 0, 0, 0, 0, 530, 531, 0,
897, 898, 899, 533, 534, 0, 900, 535, 536, 901,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 902, 545, 0, 0, 903, 904,
905, 546, 906, 547, 0, 0, 548, 907, 0, 908,
549, 0, 550, 551, 909, 910, 0, 0, 0, 0,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 911, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 912, 913, 0,
568, 569, 570, 914, 571, 572, 573, 0, 574, 915,
916, 575, 917, 576, 0, 918, 919, 920, 921, 922,
577, 578, 0, 923, 579, 924, 580, 925, 581, 582,
0, 0, 0, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 0, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 0,
0, 0, 926, 927, 1063, 0, 0, 0, 928, 0,
929, 0, 0, 0, 930, 0, 0, 0, 931, 932,
194, 195, 0, 817, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 818, 0,
204, 205, 206, 207, 819, 209, 0, 210, 0, 0,
820, 211, 821, 822, 823, 212, 824, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 825,
826, 220, 221, 0, 222, 223, 827, 828, 225, 0,
226, 227, 228, 229, 829, 231, 0, 830, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 831, 832, 252, 0, 0, 0, 833, 253, 834,
0, 254, 835, 836, 0, 255, 256, 257, 837, 838,
839, 0, 0, 0, 0, 840, 260, 841, 0, 0,
842, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 843, 0, 287, 288,
289, 290, 291, 844, 845, 292, 293, 0, 294, 295,
296, 297, 298, 846, 0, 299, 300, 0, 0, 0,
847, 302, 0, 303, 0, 0, 0, 304, 0, 305,
848, 307, 849, 0, 309, 0, 310, 0, 850, 0,
311, 312, 0, 313, 851, 0, 314, 315, 0, 0,
0, 852, 317, 318, 319, 853, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 854, 324, 325, 326,
855, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 856, 337, 338, 0,
0, 0, 0, 0, 857, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 858, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 859, 367, 368, 369, 370, 860,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
861, 378, 0, 0, 862, 380, 863, 381, 0, 382,
864, 865, 866, 867, 868, 387, 388, 389, 390, 391,
0, 869, 392, 393, 0, 0, 394, 395, 396, 397,
398, 870, 1062, 871, 399, 400, 0, 872, 873, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 874, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 875, 876, 422, 877, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 878, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
879, 880, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
881, 0, 882, 466, 467, 468, 469, 0, 470, 883,
884, 472, 473, 474, 475, 0, 885, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 886,
887, 506, 507, 0, 0, 508, 509, 888, 511, 512,
513, 889, 890, 514, 515, 516, 517, 891, 518, 519,
0, 0, 520, 521, 522, 523, 0, 892, 524, 525,
0, 893, 894, 895, 896, 0, 0, 0, 0, 0,
530, 531, 0, 897, 898, 899, 533, 534, 0, 900,
535, 536, 901, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 902, 545, 0,
0, 903, 904, 905, 546, 906, 547, 0, 0, 548,
907, 0, 908, 549, 0, 550, 551, 909, 910, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 911, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
912, 913, 0, 568, 569, 570, 914, 571, 572, 573,
0, 574, 915, 916, 575, 917, 576, 0, 918, 919,
920, 921, 922, 577, 578, 0, 923, 579, 924, 580,
925, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 0, 0, 0, 926, 927, 2645, 0, 0,
0, 928, 0, 929, 0, 0, 0, 930, 0, 0,
0, 931, 932, 194, 195, 0, 817, 197, 198, 199,
200, 0, 0, 201, 0, 0, 0, 0, 202, 0,
0, 818, 0, 204, 205, 206, 207, 819, 209, 0,
210, 0, 0, 820, 211, 821, 822, 823, 212, 824,
0, 213, 214, 215, 0, 216, 0, 217, 218, 0,
0, 219, 825, 826, 220, 221, 0, 222, 223, 827,
828, 225, 0, 226, 227, 228, 229, 829, 231, 0,
830, 233, 0, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 0, 245, 246, 0, 247, 248,
249, 250, 251, 0, 831, 832, 252, 0, 0, 0,
833, 253, 834, 0, 254, 835, 836, 0, 255, 256,
257, 837, 838, 839, 0, 0, 0, 0, 840, 260,
841, 0, 0, 842, 261, 262, 0, 263, 0, 0,
0, 0, 0, 264, 265, 266, 267, 268, 0, 0,
0, 269, 0, 0, 270, 271, 272, 0, 0, 0,
273, 0, 274, 275, 0, 276, 277, 278, 0, 0,
279, 280, 0, 281, 282, 283, 284, 285, 286, 843,
0, 287, 288, 289, 290, 291, 844, 845, 292, 293,
0, 294, 295, 296, 297, 298, 846, 0, 299, 300,
0, 0, 0, 847, 302, 2701, 303, 0, 0, 0,
304, 0, 305, 848, 307, 849, 0, 309, 0, 310,
0, 850, 0, 311, 312, 0, 313, 851, 0, 314,
315, 0, 0, 0, 852, 317, 318, 319, 853, 0,
320, 321, 322, 0, 0, 323, 0, 0, 0, 854,
324, 325, 326, 855, 0, 0, 327, 0, 0, 0,
328, 329, 0, 330, 331, 0, 0, 0, 332, 0,
333, 0, 0, 334, 335, 0, 0, 336, 0, 856,
337, 338, 0, 0, 0, 0, 0, 857, 340, 0,
341, 0, 342, 0, 343, 344, 0, 0, 858, 0,
0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 859, 367, 368,
369, 370, 860, 371, 372, 0, 0, 0, 0, 373,
374, 375, 376, 861, 378, 0, 0, 862, 380, 863,
381, 0, 382, 864, 865, 866, 867, 868, 387, 388,
389, 390, 391, 0, 869, 392, 393, 0, 0, 394,
395, 396, 397, 398, 870, 1062, 871, 399, 400, 0,
872, 873, 401, 0, 402, 403, 0, 404, 405, 406,
0, 0, 407, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408, 409, 410, 874, 411, 0, 412, 0,
413, 414, 415, 416, 417, 418, 419, 875, 876, 422,
877, 423, 0, 424, 425, 426, 0, 427, 0, 428,
429, 430, 431, 432, 0, 878, 434, 435, 0, 0,
436, 0, 0, 0, 437, 438, 0, 439, 440, 0,
0, 441, 442, 443, 444, 445, 0, 446, 447, 0,
448, 449, 450, 879, 880, 451, 452, 453, 454, 455,
456, 457, 458, 0, 459, 0, 460, 461, 0, 462,
463, 464, 0, 881, 0, 882, 466, 467, 468, 469,
0, 470, 883, 884, 472, 473, 474, 475, 0, 885,
477, 0, 0, 0, 478, 479, 480, 481, 0, 0,
0, 482, 0, 0, 0, 483, 0, 484, 485, 486,
487, 0, 488, 489, 490, 491, 492, 0, 0, 0,
0, 0, 493, 494, 495, 0, 496, 0, 0, 497,
0, 0, 498, 0, 499, 0, 500, 501, 502, 503,
504, 505, 886, 887, 506, 507, 0, 0, 508, 509,
888, 511, 512, 513, 889, 890, 514, 515, 516, 517,
891, 518, 519, 0, 0, 520, 521, 522, 523, 0,
892, 524, 525, 0, 893, 894, 895, 896, 0, 0,
0, 0, 0, 530, 531, 0, 897, 898, 899, 533,
534, 0, 900, 535, 536, 901, 537, 538, 0, 539,
540, 0, 0, 541, 0, 0, 542, 0, 543, 0,
902, 545, 0, 0, 903, 904, 905, 546, 906, 547,
0, 0, 548, 907, 0, 908, 549, 0, 550, 551,
909, 910, 0, 0, 0, 0, 0, 0, 554, 555,
556, 0, 557, 558, 559, 560, 0, 0, 911, 0,
0, 562, 563, 564, 565, 566, 0, 567, 0, 0,
0, 0, 0, 912, 913, 0, 568, 569, 570, 914,
571, 572, 573, 0, 574, 915, 916, 575, 917, 576,
0, 918, 919, 920, 921, 922, 577, 578, 0, 923,
579, 924, 580, 925, 581, 582, 0, 0, 0, 583,
584, 585, 586, 587, 588, 589, 590, 0, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 0, 0,
0, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610, 611, 612, 613, 614, 0, 0, 0, 926, 927,
0, 0, 0, 0, 928, 0, 929, 0, 0, 0,
930, 0, 0, 0, 931, 932, 194, 195, 0, 817,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 818, 0, 204, 205, 206, 207,
819, 209, 0, 210, 0, 0, 820, 211, 821, 822,
823, 212, 824, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 825, 826, 220, 221, 0,
222, 223, 827, 828, 225, 0, 226, 227, 228, 229,
829, 231, 0, 830, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 831, 832, 252,
0, 0, 0, 833, 253, 834, 0, 254, 835, 836,
0, 255, 256, 257, 837, 838, 839, 0, 0, 0,
0, 840, 260, 841, 0, 0, 842, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 843, 0, 287, 288, 289, 290, 291, 844,
845, 292, 293, 0, 294, 295, 296, 297, 298, 846,
0, 299, 300, 0, 0, 0, 847, 302, 2703, 303,
0, 0, 0, 304, 0, 305, 848, 307, 849, 0,
309, 0, 310, 0, 850, 0, 311, 312, 0, 313,
851, 0, 314, 315, 0, 0, 0, 852, 317, 318,
319, 853, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 854, 324, 325, 326, 855, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 856, 337, 338, 0, 0, 0, 0, 0,
857, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 858, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
859, 367, 368, 369, 370, 860, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 861, 378, 0, 0,
862, 380, 863, 381, 0, 382, 864, 865, 866, 867,
868, 387, 388, 389, 390, 391, 0, 869, 392, 393,
0, 0, 394, 395, 396, 397, 398, 870, 1062, 871,
399, 400, 0, 872, 873, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 874, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
875, 876, 422, 877, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 878, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 879, 880, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 881, 0, 882, 466,
467, 468, 469, 0, 470, 883, 884, 472, 473, 474,
475, 0, 885, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 886, 887, 506, 507, 0,
0, 508, 509, 888, 511, 512, 513, 889, 890, 514,
515, 516, 517, 891, 518, 519, 0, 0, 520, 521,
522, 523, 0, 892, 524, 525, 0, 893, 894, 895,
896, 0, 0, 0, 0, 0, 530, 531, 0, 897,
898, 899, 533, 534, 0, 900, 535, 536, 901, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 902, 545, 0, 0, 903, 904, 905,
546, 906, 547, 0, 0, 548, 907, 0, 908, 549,
0, 550, 551, 909, 910, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 911, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 912, 913, 0, 568,
569, 570, 914, 571, 572, 573, 0, 574, 915, 916,
575, 917, 576, 0, 918, 919, 920, 921, 922, 577,
578, 0, 923, 579, 924, 580, 925, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 0, 0,
0, 926, 927, 0, 0, 0, 0, 928, 0, 929,
0, 0, 0, 930, 0, 0, 0, 931, 932, 194,
195, 0, 817, 197, 198, 199, 200, 0, 0, 201,
0, 0, 0, 0, 202, 0, 0, 818, 0, 204,
205, 206, 207, 819, 209, 0, 210, 0, 0, 820,
211, 821, 822, 823, 212, 824, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 825, 826,
220, 221, 0, 222, 223, 827, 828, 225, 0, 226,
227, 228, 229, 829, 231, 0, 830, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
831, 832, 252, 0, 0, 0, 833, 253, 834, 0,
254, 835, 836, 0, 255, 256, 257, 837, 838, 839,
0, 0, 0, 0, 840, 260, 841, 0, 0, 842,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 843, 0, 287, 288, 289,
290, 291, 844, 845, 292, 293, 0, 294, 295, 296,
297, 298, 846, 0, 299, 300, 0, 0, 0, 847,
302, 2705, 303, 0, 0, 0, 304, 0, 305, 848,
307, 849, 0, 309, 0, 310, 0, 850, 0, 311,
312, 0, 313, 851, 0, 314, 315, 0, 0, 0,
852, 317, 318, 319, 853, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 854, 324, 325, 326, 855,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 856, 337, 338, 0, 0,
0, 0, 0, 857, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 858, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 859, 367, 368, 369, 370, 860, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 861,
378, 0, 0, 862, 380, 863, 381, 0, 382, 864,
865, 866, 867, 868, 387, 388, 389, 390, 391, 0,
869, 392, 393, 0, 0, 394, 395, 396, 397, 398,
870, 1062, 871, 399, 400, 0, 872, 873, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 874, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 875, 876, 422, 877, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 878, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 879,
880, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 881,
0, 882, 466, 467, 468, 469, 0, 470, 883, 884,
472, 473, 474, 475, 0, 885, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 886, 887,
506, 507, 0, 0, 508, 509, 888, 511, 512, 513,
889, 890, 514, 515, 516, 517, 891, 518, 519, 0,
0, 520, 521, 522, 523, 0, 892, 524, 525, 0,
893, 894, 895, 896, 0, 0, 0, 0, 0, 530,
531, 0, 897, 898, 899, 533, 534, 0, 900, 535,
536, 901, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 902, 545, 0, 0,
903, 904, 905, 546, 906, 547, 0, 0, 548, 907,
0, 908, 549, 0, 550, 551, 909, 910, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 911, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 912,
913, 0, 568, 569, 570, 914, 571, 572, 573, 0,
574, 915, 916, 575, 917, 576, 0, 918, 919, 920,
921, 922, 577, 578, 0, 923, 579, 924, 580, 925,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 0, 0, 926, 927, 0, 0, 0, 0,
928, 0, 929, 0, 0, 0, 930, 0, 0, 0,
931, 932, 194, 195, 0, 817, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
818, 0, 204, 205, 206, 207, 819, 209, 0, 210,
0, 0, 820, 211, 821, 822, 823, 212, 824, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 825, 826, 220, 221, 0, 222, 223, 827, 828,
225, 0, 226, 227, 228, 229, 829, 231, 0, 830,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 831, 832, 252, 0, 0, 0, 833,
253, 834, 0, 254, 835, 836, 0, 255, 256, 257,
837, 838, 839, 0, 0, 0, 0, 840, 260, 841,
0, 0, 842, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 843, 0,
287, 288, 289, 290, 291, 844, 845, 292, 293, 0,
294, 295, 296, 297, 298, 846, 0, 299, 300, 0,
0, 0, 847, 302, 0, 303, 0, 0, 0, 304,
0, 305, 848, 307, 849, 0, 309, 0, 310, 0,
850, 0, 311, 312, 0, 313, 851, 0, 314, 315,
0, 0, 0, 852, 317, 318, 319, 853, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 854, 324,
325, 326, 855, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 856, 337,
338, 0, 0, 0, 0, 0, 857, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 858, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 859, 367, 368, 369,
370, 860, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 861, 378, 0, 0, 862, 380, 863, 381,
0, 382, 864, 865, 866, 867, 868, 387, 388, 389,
390, 391, 0, 869, 392, 393, 0, 0, 394, 395,
396, 397, 398, 870, 1062, 871, 399, 400, 0, 872,
873, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 874, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 875, 876, 422, 877,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 878, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 879, 880, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 881, 0, 882, 466, 467, 468, 469, 0,
470, 883, 884, 472, 473, 474, 475, 0, 885, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 886, 887, 506, 507, 0, 0, 508, 509, 888,
511, 512, 513, 889, 890, 514, 515, 516, 517, 891,
518, 519, 0, 0, 520, 521, 522, 523, 0, 892,
524, 525, 0, 893, 894, 895, 896, 0, 0, 0,
0, 0, 530, 531, 0, 897, 898, 899, 533, 534,
0, 900, 535, 536, 901, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 902,
545, 0, 0, 903, 904, 905, 546, 906, 547, 0,
0, 548, 907, 0, 908, 549, 0, 550, 551, 909,
910, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 911, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 912, 913, 0, 568, 569, 570, 914, 571,
572, 573, 0, 574, 915, 916, 575, 917, 576, 0,
918, 919, 920, 921, 922, 577, 578, 0, 923, 579,
924, 580, 925, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 0, 0, 0, 926, 927, 0,
0, 0, 0, 928, 0, 929, 0, 0, 0, 930,
0, 0, 0, 931, 932, 194, 195, 0, 817, 197,
198, 199, 200, 0, 0, 201, 0, 0, 0, 0,
202, 0, 0, 818, 0, 204, 205, 206, 207, 819,
209, 0, 210, 0, 0, 820, 211, 821, 822, 823,
212, 824, 0, 213, 214, 215, 0, 216, 0, 217,
218, 0, 0, 219, 825, 826, 220, 221, 0, 222,
223, 827, 828, 225, 0, 226, 227, 228, 229, 829,
231, 0, 830, 233, 0, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 0, 245, 246, 0,
247, 248, 249, 250, 251, 0, 831, 832, 252, 0,
0, 0, 833, 253, 834, 0, 254, 835, 836, 0,
255, 256, 257, 837, 838, 839, 0, 0, 0, 0,
840, 260, 841, 0, 0, 842, 261, 262, 0, 263,
0, 0, 0, 0, 0, 264, 265, 266, 267, 268,
0, 0, 0, 269, 0, 0, 270, 271, 272, 0,
0, 0, 273, 0, 274, 275, 0, 276, 277, 278,
0, 0, 279, 280, 0, 281, 282, 283, 284, 285,
286, 843, 0, 287, 288, 289, 290, 291, 844, 845,
292, 293, 0, 294, 295, 296, 297, 298, 846, 0,
299, 300, 0, 0, 0, 847, 302, 0, 303, 0,
0, 0, 304, 0, 305, 848, 307, 849, 0, 309,
0, 310, 0, 850, 0, 311, 312, 0, 313, 851,
0, 314, 315, 0, 0, 0, 852, 317, 318, 319,
853, 0, 320, 321, 322, 0, 0, 323, 0, 0,
0, 854, 324, 325, 326, 855, 0, 0, 327, 0,
0, 0, 328, 329, 0, 330, 331, 0, 0, 0,
332, 0, 333, 0, 0, 334, 335, 0, 0, 336,
0, 856, 337, 338, 0, 0, 0, 0, 0, 857,
340, 0, 341, 0, 342, 0, 343, 344, 0, 0,
858, 0, 0, 0, 0, 345, 0, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 859,
367, 368, 369, 370, 860, 371, 372, 0, 0, 0,
0, 373, 374, 375, 376, 861, 378, 0, 0, 862,
380, 863, 381, 0, 382, 864, 865, 866, 867, 868,
387, 388, 389, 390, 391, 0, 869, 392, 393, 0,
0, 394, 395, 396, 397, 398, 870, 1062, 871, 399,
400, 0, 872, 873, 401, 0, 402, 403, 0, 404,
405, 406, 0, 0, 407, 0, 0, 0, 0, 0,
0, 0, 0, 0, 408, 409, 410, 874, 411, 0,
412, 0, 413, 414, 415, 416, 417, 418, 419, 875,
876, 422, 877, 423, 0, 424, 425, 426, 0, 427,
0, 428, 429, 430, 431, 432, 0, 878, 434, 435,
0, 0, 436, 0, 0, 0, 437, 438, 0, 439,
440, 0, 0, 441, 442, 443, 444, 445, 0, 446,
447, 0, 448, 449, 450, 879, 880, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 0, 460, 461,
0, 462, 463, 464, 0, 881, 0, 882, 466, 467,
468, 469, 0, 470, 883, 884, 472, 473, 474, 475,
0, 885, 477, 0, 0, 0, 478, 479, 480, 481,
0, 0, 0, 482, 0, 0, 0, 483, 0, 484,
485, 486, 487, 0, 488, 489, 490, 491, 492, 0,
0, 0, 0, 0, 493, 494, 495, 0, 496, 0,
0, 497, 0, 0, 498, 0, 499, 0, 500, 501,
502, 503, 504, 505, 886, 887, 506, 507, 0, 0,
508, 509, 888, 511, 512, 513, 889, 890, 514, 515,
516, 517, 891, 518, 519, 0, 0, 520, 521, 522,
523, 0, 892, 524, 525, 0, 893, 894, 895, 896,
0, 0, 0, 0, 0, 530, 531, 0, 897, 898,
899, 533, 534, 0, 900, 535, 536, 901, 537, 538,
0, 539, 540, 0, 0, 541, 0, 0, 542, 0,
543, 0, 902, 545, 0, 0, 903, 904, 905, 546,
906, 547, 0, 0, 548, 907, 0, 908, 549, 0,
550, 551, 909, 910, 0, 0, 0, 0, 0, 0,
554, 555, 556, 0, 557, 558, 559, 560, 0, 0,
911, 0, 0, 562, 563, 564, 565, 566, 0, 567,
0, 0, 0, 0, 0, 912, 913, 0, 568, 569,
570, 914, 571, 572, 573, 0, 574, 915, 916, 575,
917, 576, 0, 918, 919, 920, 921, 922, 577, 578,
0, 923, 579, 924, 580, 925, 581, 582, 0, 0,
0, 583, 584, 585, 586, 587, 588, 589, 590, 0,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
0, 0, 0, 601, 602, 603, 604, 605, 606, 607,
608, 609, 610, 611, 612, 613, 614, 0, 0, 0,
926, 927, 0, 0, 0, 0, 928, 0, 1314, 0,
0, 0, 930, 0, 0, 0, 931, 932, 194, 195,
0, 817, 197, 198, 199, 200, 2402, 0, 201, 0,
0, 0, 0, 2403, 0, 0, 818, 0, 204, 205,
206, 207, 819, 209, 0, 210, 0, 0, 820, 211,
821, 822, 823, 212, 824, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 825, 826, 220,
221, 0, 222, 223, 827, 828, 225, 0, 226, 227,
228, 229, 829, 231, 0, 830, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 831,
832, 252, 0, 0, 0, 833, 253, 834, 0, 254,
835, 836, 0, 255, 256, 257, 837, 838, 839, 0,
0, 0, 0, 840, 260, 841, 0, 0, 842, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 843, 0, 287, 288, 289, 290,
291, 844, 845, 292, 293, 0, 294, 295, 296, 297,
298, 846, 0, 299, 300, 0, 0, 0, 847, 302,
0, 303, 0, 0, 0, 304, 0, 305, 848, 307,
849, 0, 309, 0, 310, 0, 850, 0, 311, 312,
0, 313, 851, 0, 314, 315, 0, 0, 0, 852,
317, 318, 319, 853, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 854, 324, 325, 326, 855, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 856, 337, 338, 0, 0, 0,
0, 0, 857, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 858, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 859, 367, 368, 369, 370, 860, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 861, 378,
0, 0, 862, 380, 863, 381, 0, 382, 864, 865,
866, 867, 868, 387, 388, 389, 390, 391, 0, 869,
392, 393, 0, 0, 394, 395, 396, 397, 398, 870,
0, 871, 399, 400, 0, 872, 873, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
874, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 875, 876, 422, 877, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
878, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 879, 880,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 881, 0,
882, 466, 467, 468, 469, 0, 470, 883, 884, 472,
473, 474, 475, 0, 885, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 886, 887, 506,
507, 0, 0, 508, 509, 888, 511, 512, 513, 889,
890, 514, 515, 516, 517, 891, 518, 519, 0, 0,
520, 521, 522, 523, 0, 892, 524, 525, 0, 893,
894, 895, 896, 0, 0, 0, 0, 0, 530, 531,
0, 897, 898, 899, 533, 534, 0, 900, 535, 536,
901, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 902, 545, 0, 0, 903,
904, 905, 546, 906, 547, 0, 0, 548, 907, 0,
908, 549, 0, 550, 551, 909, 910, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 911, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 912, 913,
0, 568, 569, 570, 914, 571, 572, 573, 0, 574,
915, 916, 575, 917, 576, 0, 918, 919, 920, 921,
922, 577, 578, 0, 923, 579, 924, 580, 925, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
0, 0, 0, 926, 927, 0, 0, 0, 0, 928,
0, 929, 0, 0, 0, 930, 0, 0, 0, 931,
932, 194, 195, 0, 817, 197, 198, 199, 200, 0,
0, 201, 0, 0, 0, 0, 202, 0, 0, 818,
0, 204, 205, 206, 207, 819, 209, 0, 210, 0,
0, 820, 211, 821, 822, 823, 212, 824, 0, 213,
214, 215, 0, 216, 0, 217, 218, 0, 0, 219,
825, 826, 220, 221, 0, 222, 223, 827, 828, 225,
0, 226, 227, 228, 229, 829, 231, 0, 830, 233,
0, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 0, 245, 246, 0, 247, 248, 249, 250,
251, 0, 831, 832, 252, 0, 0, 0, 833, 253,
834, 0, 254, 835, 836, 0, 255, 256, 257, 837,
838, 839, 0, 0, 0, 0, 840, 260, 841, 0,
0, 842, 261, 262, 0, 263, 0, 0, 0, 0,
0, 264, 265, 266, 267, 268, 0, 0, 0, 269,
0, 0, 270, 271, 272, 0, 0, 0, 273, 0,
274, 275, 0, 276, 277, 278, 0, 0, 279, 280,
0, 281, 282, 283, 284, 285, 286, 843, 0, 287,
288, 289, 290, 291, 844, 845, 292, 293, 0, 294,
295, 296, 297, 298, 846, 0, 299, 300, 0, 0,
0, 847, 302, 0, 303, 0, 0, 0, 304, 0,
305, 848, 307, 849, 0, 309, 0, 310, 0, 850,
0, 311, 312, 0, 313, 851, 0, 314, 315, 0,
0, 0, 852, 317, 318, 319, 853, 0, 320, 321,
322, 0, 0, 323, 0, 0, 0, 854, 324, 325,
326, 3259, 0, 0, 327, 0, 0, 0, 328, 329,
0, 330, 331, 0, 0, 0, 332, 0, 333, 0,
0, 334, 335, 0, 0, 336, 0, 856, 337, 338,
0, 0, 0, 0, 0, 857, 340, 0, 341, 0,
342, 0, 343, 344, 0, 0, 858, 0, 0, 0,
0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 859, 367, 368, 369, 370,
860, 371, 372, 0, 0, 0, 0, 373, 374, 375,
376, 861, 378, 0, 0, 862, 380, 863, 381, 0,
382, 864, 865, 866, 867, 868, 387, 388, 389, 390,
391, 0, 869, 392, 393, 0, 0, 394, 395, 396,
397, 398, 870, 1062, 871, 399, 400, 0, 872, 873,
401, 0, 402, 403, 0, 404, 405, 406, 0, 0,
407, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408, 409, 410, 874, 411, 0, 412, 0, 413, 414,
415, 416, 417, 418, 419, 875, 876, 422, 877, 423,
0, 424, 425, 426, 0, 427, 0, 428, 429, 430,
431, 432, 0, 878, 434, 435, 0, 0, 436, 0,
0, 0, 437, 438, 0, 439, 440, 0, 0, 441,
442, 443, 444, 445, 0, 446, 447, 0, 448, 449,
450, 879, 880, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 0, 460, 461, 0, 462, 463, 464,
0, 881, 0, 882, 466, 467, 468, 469, 0, 470,
883, 884, 472, 473, 474, 475, 0, 885, 477, 0,
0, 0, 478, 479, 480, 481, 0, 0, 0, 482,
0, 0, 0, 483, 0, 484, 485, 486, 487, 0,
488, 489, 490, 491, 492, 0, 0, 0, 0, 0,
493, 494, 495, 0, 496, 0, 0, 497, 0, 0,
498, 0, 499, 0, 500, 501, 502, 503, 504, 505,
886, 887, 506, 507, 0, 0, 508, 509, 888, 511,
512, 513, 889, 890, 514, 515, 516, 517, 891, 518,
519, 0, 0, 520, 521, 522, 523, 0, 892, 524,
525, 0, 893, 894, 895, 896, 0, 0, 0, 0,
0, 530, 531, 0, 897, 898, 899, 533, 534, 0,
900, 535, 536, 901, 537, 538, 0, 539, 540, 0,
0, 541, 0, 0, 542, 0, 543, 0, 902, 545,
0, 0, 903, 904, 905, 546, 906, 547, 0, 0,
548, 907, 0, 908, 549, 0, 550, 551, 909, 910,
0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
557, 558, 559, 560, 0, 0, 911, 0, 0, 562,
563, 564, 565, 566, 0, 567, 0, 0, 0, 0,
0, 912, 913, 0, 568, 569, 570, 914, 571, 572,
573, 0, 574, 915, 916, 575, 917, 576, 0, 918,
919, 920, 921, 922, 577, 578, 0, 923, 579, 924,
580, 925, 581, 582, 0, 0, 0, 583, 584, 585,
586, 587, 588, 589, 590, 0, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 0, 0, 0, 601,
602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
612, 613, 614, 0, 0, 0, 926, 927, 0, 0,
0, 0, 928, 0, 929, 0, 0, 0, 930, 0,
0, 0, 931, 932, 194, 195, 0, 817, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 818, 0, 204, 205, 206, 207, 819, 209,
0, 210, 0, 0, 820, 211, 821, 822, 823, 212,
824, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 825, 826, 220, 221, 0, 222, 223,
827, 828, 225, 0, 226, 227, 228, 229, 829, 231,
0, 830, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 831, 832, 252, 0, 0,
0, 833, 253, 834, 0, 254, 835, 836, 0, 255,
256, 257, 837, 838, 839, 0, 0, 0, 0, 840,
260, 841, 0, 0, 842, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
843, 0, 287, 288, 289, 290, 291, 844, 845, 292,
293, 0, 294, 295, 296, 297, 298, 846, 0, 299,
300, 0, 0, 0, 847, 302, 0, 303, 0, 0,
0, 304, 0, 305, 848, 307, 849, 0, 309, 0,
310, 0, 850, 0, 311, 312, 0, 313, 851, 0,
314, 315, 0, 0, 0, 852, 317, 318, 319, 853,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
854, 324, 325, 326, 3320, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
856, 337, 338, 0, 0, 0, 0, 0, 857, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 858,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 859, 367,
368, 369, 370, 860, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 861, 378, 0, 0, 862, 380,
863, 381, 0, 382, 864, 865, 866, 867, 868, 387,
388, 389, 390, 391, 0, 869, 392, 393, 0, 0,
394, 395, 396, 397, 398, 870, 1062, 871, 399, 400,
0, 872, 873, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 874, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 875, 876,
422, 877, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 878, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 879, 880, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 881, 0, 882, 466, 467, 468,
469, 0, 470, 883, 884, 472, 473, 474, 475, 0,
885, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 886, 887, 506, 507, 0, 0, 508,
509, 888, 511, 512, 513, 889, 890, 514, 515, 516,
517, 891, 518, 519, 0, 0, 520, 521, 522, 523,
0, 892, 524, 525, 0, 893, 894, 895, 896, 0,
0, 0, 0, 0, 530, 531, 0, 897, 898, 899,
533, 534, 0, 900, 535, 536, 901, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 902, 545, 0, 0, 903, 904, 905, 546, 906,
547, 0, 0, 548, 907, 0, 908, 549, 0, 550,
551, 909, 910, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 911,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 912, 913, 0, 568, 569, 570,
914, 571, 572, 573, 0, 574, 915, 916, 575, 917,
576, 0, 918, 919, 920, 921, 922, 577, 578, 0,
923, 579, 924, 580, 925, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 0, 0, 0, 926,
927, 0, 0, 0, 0, 928, 0, 929, 0, 0,
0, 930, 0, 0, 0, 931, 932, 194, 195, 0,
817, 197, 198, 199, 200, 0, 0, 201, 0, 0,
0, 0, 202, 0, 0, 818, 0, 204, 205, 206,
207, 819, 209, 0, 210, 0, 0, 820, 211, 821,
822, 823, 212, 824, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 825, 826, 220, 221,
0, 222, 223, 827, 828, 225, 0, 226, 227, 228,
229, 829, 231, 0, 830, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 0, 247, 248, 249, 250, 251, 0, 831, 832,
252, 0, 0, 0, 833, 253, 834, 0, 254, 835,
836, 0, 255, 256, 257, 837, 838, 839, 0, 0,
0, 0, 840, 260, 841, 0, 0, 3696, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 0, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 843, 0, 287, 288, 289, 290, 291,
844, 845, 292, 293, 0, 294, 295, 296, 297, 298,
846, 0, 299, 300, 0, 0, 0, 847, 302, 0,
303, 0, 0, 0, 304, 0, 305, 848, 307, 849,
0, 309, 0, 310, 0, 850, 0, 311, 312, 0,
313, 851, 0, 314, 315, 0, 0, 0, 852, 317,
318, 319, 853, 0, 320, 321, 322, 0, 0, 323,
0, 0, 0, 854, 324, 325, 326, 855, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 0, 0, 334, 335, 0,
0, 336, 0, 856, 337, 338, 0, 0, 0, 0,
0, 857, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 858, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 859, 367, 368, 369, 370, 860, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 861, 378, 0,
0, 862, 380, 863, 381, 0, 382, 864, 865, 866,
867, 868, 387, 388, 389, 390, 391, 0, 869, 392,
393, 0, 0, 394, 395, 396, 397, 398, 870, 1062,
871, 399, 400, 0, 872, 873, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 874,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 875, 876, 422, 877, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 878,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 879, 880, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 881, 0, 882,
466, 467, 468, 469, 0, 470, 883, 884, 472, 473,
474, 475, 0, 885, 477, 0, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 0, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 886, 887, 506, 507,
0, 0, 508, 509, 888, 511, 512, 513, 889, 890,
514, 515, 516, 517, 891, 518, 519, 0, 0, 520,
521, 522, 523, 0, 892, 524, 525, 0, 893, 894,
895, 896, 0, 0, 0, 0, 0, 530, 531, 0,
897, 898, 899, 533, 534, 0, 900, 535, 536, 901,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 902, 545, 0, 0, 903, 904,
905, 546, 906, 547, 0, 0, 548, 907, 0, 908,
549, 0, 550, 551, 909, 910, 0, 0, 0, 0,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 911, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 912, 913, 0,
568, 569, 570, 914, 571, 572, 573, 0, 574, 915,
916, 575, 917, 576, 0, 918, 919, 920, 921, 922,
577, 578, 0, 923, 579, 924, 580, 925, 581, 582,
0, 0, 0, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 0, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 0,
0, 0, 926, 927, 0, 0, 0, 0, 928, 0,
929, 0, 0, 0, 930, 0, 0, 0, 931, 932,
194, 195, 0, 817, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 818, 0,
204, 205, 206, 207, 819, 209, 0, 210, 0, 0,
820, 211, 821, 822, 823, 212, 824, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 825,
826, 220, 221, 0, 222, 223, 827, 828, 225, 0,
226, 227, 228, 229, 829, 231, 0, 830, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 831, 832, 252, 0, 0, 0, 833, 253, 834,
0, 254, 835, 836, 0, 255, 256, 257, 837, 838,
839, 0, 0, 0, 0, 840, 260, 841, 0, 0,
842, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 843, 0, 287, 288,
289, 290, 291, 844, 845, 292, 293, 0, 294, 295,
296, 297, 298, 846, 0, 299, 300, 0, 0, 0,
847, 302, 0, 303, 0, 0, 0, 304, 0, 305,
848, 307, 849, 0, 309, 0, 310, 0, 850, 0,
311, 312, 0, 313, 851, 0, 314, 315, 0, 0,
0, 852, 317, 318, 319, 853, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 854, 324, 325, 326,
855, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 856, 337, 338, 0,
0, 0, 0, 0, 857, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 858, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 859, 367, 368, 369, 370, 860,
371, 372, 4911, 0, 0, 0, 373, 374, 375, 376,
861, 378, 0, 0, 862, 380, 863, 381, 0, 382,
864, 865, 866, 867, 868, 387, 388, 389, 390, 391,
0, 869, 392, 393, 0, 0, 394, 395, 396, 397,
398, 870, 0, 871, 399, 400, 0, 872, 873, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 874, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 875, 876, 422, 877, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 878, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
879, 880, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
881, 0, 882, 466, 467, 468, 469, 0, 470, 883,
884, 472, 473, 474, 475, 0, 885, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 886,
887, 506, 507, 0, 0, 508, 509, 888, 511, 512,
513, 889, 890, 514, 515, 516, 517, 891, 518, 519,
0, 0, 520, 521, 522, 523, 0, 892, 524, 525,
0, 893, 894, 895, 896, 0, 0, 0, 0, 0,
530, 531, 0, 897, 898, 899, 533, 534, 0, 900,
535, 536, 901, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 902, 545, 0,
0, 903, 904, 905, 546, 906, 547, 0, 0, 548,
907, 0, 908, 549, 0, 550, 551, 909, 910, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 911, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
912, 913, 0, 568, 569, 570, 914, 571, 572, 573,
0, 574, 915, 916, 575, 917, 576, 0, 918, 919,
920, 921, 922, 577, 578, 0, 923, 579, 924, 580,
925, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 0, 0, 0, 926, 927, 0, 0, 0,
0, 928, 0, 929, 0, 0, 0, 930, 0, 0,
0, 931, 932, 194, 195, 0, 817, 197, 198, 199,
200, 0, 0, 201, 0, 0, 0, 0, 202, 0,
0, 818, 0, 204, 205, 206, 207, 819, 209, 0,
210, 0, 0, 820, 211, 821, 822, 823, 212, 824,
0, 213, 214, 215, 0, 216, 0, 217, 218, 0,
0, 219, 825, 826, 220, 221, 0, 222, 223, 827,
828, 225, 0, 226, 227, 228, 229, 829, 231, 0,
830, 233, 0, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 0, 245, 246, 0, 247, 248,
249, 250, 251, 0, 831, 832, 252, 0, 0, 0,
833, 253, 834, 0, 254, 835, 836, 0, 255, 256,
257, 837, 838, 839, 0, 0, 0, 0, 840, 260,
841, 0, 0, 842, 261, 262, 0, 263, 0, 0,
0, 0, 0, 264, 265, 266, 267, 268, 0, 0,
0, 269, 0, 0, 270, 271, 272, 0, 0, 0,
273, 0, 274, 275, 0, 276, 277, 278, 0, 0,
279, 280, 0, 281, 282, 283, 284, 285, 286, 843,
0, 287, 288, 289, 290, 291, 844, 845, 292, 293,
0, 294, 295, 296, 297, 298, 846, 0, 299, 300,
0, 0, 0, 847, 302, 0, 303, 0, 0, 0,
304, 0, 305, 848, 307, 849, 0, 309, 0, 310,
0, 850, 0, 311, 312, 0, 313, 851, 0, 314,
315, 0, 0, 0, 852, 317, 318, 319, 853, 0,
320, 321, 322, 0, 0, 323, 0, 0, 0, 854,
324, 325, 326, 855, 0, 0, 327, 0, 0, 0,
328, 329, 0, 330, 331, 0, 0, 0, 332, 0,
333, 0, 0, 334, 335, 0, 0, 336, 0, 856,
337, 338, 0, 0, 0, 0, 0, 857, 340, 0,
341, 0, 342, 0, 343, 344, 0, 0, 858, 0,
0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 859, 367, 368,
369, 370, 860, 371, 372, 0, 0, 0, 0, 373,
374, 375, 376, 861, 378, 0, 0, 862, 380, 863,
381, 0, 382, 864, 865, 866, 867, 868, 387, 388,
389, 390, 391, 0, 869, 392, 393, 0, 0, 394,
395, 396, 397, 398, 870, 0, 871, 399, 400, 0,
872, 873, 401, 0, 402, 403, 0, 404, 405, 406,
0, 0, 407, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408, 409, 410, 874, 411, 0, 412, 0,
413, 414, 415, 416, 417, 418, 419, 875, 876, 422,
877, 423, 0, 424, 425, 426, 0, 427, 0, 428,
429, 430, 431, 432, 0, 878, 434, 435, 0, 0,
436, 0, 0, 0, 437, 438, 0, 439, 440, 0,
0, 441, 442, 443, 444, 445, 0, 446, 447, 0,
448, 449, 450, 879, 880, 451, 452, 453, 454, 455,
456, 457, 458, 0, 459, 0, 460, 461, 0, 462,
463, 464, 0, 881, 0, 882, 466, 467, 468, 469,
0, 470, 883, 884, 472, 473, 474, 475, 0, 885,
477, 0, 0, 0, 478, 479, 480, 481, 0, 0,
0, 482, 0, 0, 0, 483, 0, 484, 485, 486,
487, 0, 488, 489, 490, 491, 492, 0, 0, 0,
0, 0, 493, 494, 495, 0, 496, 0, 0, 497,
0, 0, 498, 0, 499, 0, 500, 501, 502, 503,
504, 505, 886, 887, 506, 507, 0, 0, 508, 509,
888, 511, 512, 513, 889, 890, 514, 515, 516, 517,
891, 518, 519, 0, 0, 520, 521, 522, 523, 0,
892, 524, 525, 0, 893, 894, 895, 896, 0, 0,
0, 0, 0, 530, 531, 0, 897, 898, 899, 533,
534, 0, 900, 535, 536, 901, 537, 538, 0, 539,
540, 0, 0, 541, 0, 0, 542, 0, 543, 0,
902, 545, 0, 0, 903, 904, 905, 546, 906, 547,
0, 0, 548, 907, 0, 908, 549, 0, 550, 551,
909, 910, 0, 0, 0, 0, 0, 0, 554, 555,
556, 0, 557, 558, 559, 560, 0, 0, 911, 0,
0, 562, 563, 564, 565, 566, 0, 567, 0, 0,
0, 0, 0, 912, 913, 0, 568, 569, 570, 914,
571, 572, 573, 0, 574, 915, 916, 575, 917, 576,
0, 918, 919, 920, 921, 922, 577, 578, 0, 923,
579, 924, 580, 925, 581, 582, 0, 0, 0, 583,
584, 585, 586, 587, 588, 589, 590, 0, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 0, 0,
0, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610, 611, 612, 613, 614, 0, 0, 0, 926, 927,
0, 0, 0, 0, 928, 0, 929, 0, 0, 0,
930, 0, 0, 0, 931, 932, 194, 195, 0, 817,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 818, 0, 204, 205, 206, 207,
819, 209, 0, 210, 0, 0, 820, 211, 821, 822,
823, 212, 824, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 825, 826, 220, 221, 0,
222, 223, 827, 828, 225, 0, 226, 227, 228, 229,
829, 231, 0, 830, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 831, 832, 252,
0, 0, 0, 833, 253, 834, 0, 254, 835, 836,
0, 255, 256, 257, 837, 838, 839, 0, 0, 0,
0, 840, 260, 841, 0, 0, 842, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 843, 0, 287, 288, 289, 290, 291, 844,
845, 292, 293, 0, 294, 295, 296, 297, 298, 846,
0, 299, 300, 0, 0, 0, 847, 302, 0, 303,
0, 0, 0, 304, 0, 305, 848, 307, 849, 0,
309, 0, 310, 0, 850, 0, 311, 312, 0, 313,
851, 0, 314, 315, 0, 0, 0, 852, 317, 318,
319, 853, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 854, 324, 325, 326, 2102, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 856, 337, 338, 0, 0, 0, 0, 0,
857, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 858, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
859, 367, 368, 369, 370, 860, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 861, 378, 0, 0,
862, 380, 863, 381, 0, 382, 864, 865, 866, 867,
868, 387, 388, 389, 390, 391, 0, 869, 392, 393,
0, 0, 394, 395, 396, 397, 398, 870, 0, 871,
399, 400, 0, 872, 873, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 874, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
875, 876, 422, 877, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 878, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 879, 880, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 881, 0, 882, 466,
467, 468, 469, 0, 470, 883, 884, 472, 473, 474,
475, 0, 885, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 886, 887, 506, 507, 0,
0, 508, 509, 888, 511, 512, 513, 889, 890, 514,
515, 516, 517, 891, 518, 519, 0, 0, 520, 521,
522, 523, 0, 892, 524, 525, 0, 893, 894, 895,
896, 0, 0, 0, 0, 0, 530, 531, 0, 897,
898, 899, 533, 534, 0, 900, 535, 536, 901, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 902, 545, 0, 0, 903, 904, 905,
546, 906, 547, 0, 0, 548, 907, 0, 908, 549,
0, 550, 551, 909, 910, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 911, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 912, 913, 0, 568,
569, 570, 914, 571, 572, 573, 0, 574, 915, 916,
575, 917, 576, 0, 918, 919, 920, 921, 922, 577,
578, 0, 923, 579, 924, 580, 925, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 0, 0,
0, 926, 927, 0, 0, 0, 0, 928, 0, 929,
0, 0, 0, 930, 0, 0, 0, 931, 932, 194,
195, 0, 817, 197, 198, 199, 200, 0, 0, 201,
0, 0, 0, 0, 202, 0, 0, 818, 0, 204,
205, 206, 207, 819, 209, 0, 210, 0, 0, 820,
211, 821, 822, 823, 212, 824, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 825, 826,
220, 221, 0, 222, 223, 827, 828, 225, 0, 226,
227, 228, 229, 829, 231, 0, 830, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
831, 832, 252, 0, 0, 0, 833, 253, 834, 0,
254, 835, 836, 0, 255, 256, 257, 837, 838, 839,
0, 0, 0, 0, 840, 260, 841, 0, 0, 842,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 843, 0, 287, 288, 289,
290, 291, 844, 845, 292, 293, 0, 294, 295, 296,
297, 298, 846, 0, 299, 300, 0, 0, 0, 847,
302, 0, 303, 0, 0, 0, 304, 0, 305, 848,
307, 849, 0, 309, 0, 310, 0, 850, 0, 311,
312, 0, 313, 851, 0, 314, 315, 0, 0, 0,
852, 317, 318, 319, 853, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 854, 324, 325, 326, 2104,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 856, 337, 338, 0, 0,
0, 0, 0, 857, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 858, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 859, 367, 368, 369, 370, 860, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 861,
378, 0, 0, 862, 380, 863, 381, 0, 382, 864,
865, 866, 867, 868, 387, 388, 389, 390, 391, 0,
869, 392, 393, 0, 0, 394, 395, 396, 397, 398,
870, 0, 871, 399, 400, 0, 872, 873, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 874, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 875, 876, 422, 877, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 878, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 879,
880, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 881,
0, 882, 466, 467, 468, 469, 0, 470, 883, 884,
472, 473, 474, 475, 0, 885, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 886, 887,
506, 507, 0, 0, 508, 509, 888, 511, 512, 513,
889, 890, 514, 515, 516, 517, 891, 518, 519, 0,
0, 520, 521, 522, 523, 0, 892, 524, 525, 0,
893, 894, 895, 896, 0, 0, 0, 0, 0, 530,
531, 0, 897, 898, 899, 533, 534, 0, 900, 535,
536, 901, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 902, 545, 0, 0,
903, 904, 905, 546, 906, 547, 0, 0, 548, 907,
0, 908, 549, 0, 550, 551, 909, 910, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 911, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 912,
913, 0, 568, 569, 570, 914, 571, 572, 573, 0,
574, 915, 916, 575, 917, 576, 0, 918, 919, 920,
921, 922, 577, 578, 0, 923, 579, 924, 580, 925,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 0, 0, 926, 927, 0, 0, 0, 0,
928, 0, 929, 0, 0, 0, 930, 0, 0, 0,
931, 932, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
42, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 53, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 2522, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 2523, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 0, 0, 0, 194, 195, 0,
196, 197, 198, 199, 200, 2524, 0, 201, 0, 0,
0, 0, 202, 0, 2525, 203, 0, 204, 205, 206,
207, 208, 209, 0, 210, 0, 0, 0, 211, 0,
0, 0, 212, 0, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 0, 0, 220, 221,
0, 222, 223, 224, 0, 225, 0, 226, 227, 228,
229, 230, 231, 0, 232, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 0, 247, 248, 249, 250, 251, 0, 0, 0,
252, 0, 0, 0, 0, 253, 0, 0, 254, 0,
0, 0, 255, 256, 257, 0, 0, 258, 0, 0,
0, 0, 259, 260, 0, 0, 0, 0, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 2521, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 0, 0, 287, 288, 289, 290, 291,
0, 0, 292, 293, 0, 294, 295, 296, 297, 298,
0, 0, 299, 300, 0, 0, 0, 301, 302, 0,
303, 0, 0, 0, 304, 0, 305, 306, 307, 308,
0, 309, 0, 310, 0, 0, 0, 311, 312, 0,
313, 0, 0, 314, 315, 0, 0, 0, 316, 317,
318, 319, 0, 0, 320, 321, 322, 0, 0, 323,
0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 0, 0, 334, 335, 0,
0, 336, 0, 0, 337, 338, 0, 0, 0, 0,
0, 339, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 0, 367, 368, 369, 370, 0, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 377, 378, 0,
0, 379, 380, 0, 381, 0, 382, 0, 383, 384,
385, 386, 387, 388, 389, 390, 391, 0, 0, 392,
393, 0, 0, 394, 395, 396, 397, 398, 0, 0,
0, 399, 400, 0, 0, 0, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 0,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 0, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 433,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 0, 0, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 465, 0, 0,
466, 467, 468, 469, 0, 470, 0, 471, 472, 473,
474, 475, 0, 476, 477, 0, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 0, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 0, 0, 506, 507,
0, 0, 508, 509, 510, 511, 512, 513, 0, 0,
514, 515, 516, 517, 0, 518, 519, 0, 0, 520,
521, 522, 523, 0, 0, 524, 525, 0, 526, 527,
528, 529, 0, 0, 0, 0, 0, 530, 531, 0,
0, 0, 532, 533, 534, 0, 0, 535, 536, 0,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 544, 545, 0, 0, 0, 0,
0, 546, 0, 547, 0, 0, 548, 0, 0, 0,
549, 0, 550, 551, 552, 553, 0, 0, 0, 0,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 561, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 0, 0, 0,
568, 569, 570, 0, 571, 572, 573, 0, 574, 0,
0, 575, 0, 576, 0, 0, 0, 0, 0, 0,
577, 578, 0, 0, 579, 0, 580, 0, 581, 582,
0, 0, 2522, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 2523, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 0,
0, 0, 194, 195, 0, 196, 197, 198, 199, 200,
2524, 0, 201, 0, 0, 0, 0, 202, 0, 2525,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 2522, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 2523, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 0, 0, 194, 195, 0, 196,
197, 198, 199, 200, 0, 2524, 201, 0, 0, 0,
0, 202, 0, 0, 2525, 0, 204, 205, 206, 207,
208, 209, 0, -449, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
0, 0, 0, 0, 219, 4748, 0, 220, 221, 0,
222, 223, 0, 0, 0, 0, 226, 227, 228, 4749,
230, 231, 0, 232, 233, 0, 234, 235, 0, 237,
0, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 0, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 0, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 0, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 0, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 0, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 4750, 294, 295, 296, 297, 298, 0,
0, 0, 0, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 0, 312, 0, 0,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 4751, 0, 320, 0, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 0, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 4752, 0,
0, 332, 0, 333, 0, 0, 0, 335, 0, 0,
336, 4753, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, -404, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
0, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 4754, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 0, 0, 0, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 0, 450, -404, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 0, 0, 460,
461, 0, 462, 463, 464, 4755, 465, 0, 0, 0,
467, 468, 469, 0, 470, 0, 471, 472, 0, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 0, 0,
0, 485, 0, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
0, 502, 503, 504, 505, 0, 0, 0, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 0, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 0, 0, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, -404, 0, 0,
0, 554, 555, 556, 0, 557, 0, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 0, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 0, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 5161, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
821, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 2448, 0,
0, 0, 0, 259, 260, 841, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 845, 292, 293, 0, 294, 295, 296, 297,
298, 846, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 851, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 858, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 869,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 872, 873, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 892, 524, 525, 0, 2449,
527, 528, 2450, 0, 0, 0, 0, 0, 530, 531,
0, 0, 898, 532, 533, 534, 0, 900, 535, 536,
901, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
0, 201, 0, 0, 0, 930, 202, 0, 0, 203,
0, 204, 205, 206, 207, 208, 209, 0, 210, 0,
0, 0, 211, 0, 0, 0, 212, 0, 0, 213,
214, 215, 0, 216, 0, 217, 218, 0, 0, 219,
0, 0, 220, 221, 0, 222, 223, 224, 0, 225,
0, 226, 227, 228, 229, 230, 231, 0, 232, 233,
0, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 0, 245, 246, 0, 247, 248, 249, 250,
251, 0, 0, 0, 252, 0, 0, 0, 0, 253,
0, 0, 254, 0, 0, 0, 255, 256, 257, 0,
0, 258, 0, 0, 0, 0, 259, 260, 0, 0,
0, 0, 261, 262, 0, 263, 0, 0, 0, 0,
0, 264, 265, 266, 267, 268, 0, 0, 0, 269,
0, 0, 1451, 271, 272, 0, 0, 0, 273, 0,
274, 275, 0, 276, 277, 278, 0, 0, 279, 280,
0, 281, 282, 283, 284, 285, 286, 0, 0, 287,
288, 289, 290, 291, 0, 0, 292, 293, 0, 294,
295, 296, 297, 298, 0, 0, 299, 300, 0, 0,
0, 301, 302, 0, 303, 0, 0, 0, 304, 0,
305, 306, 307, 308, 0, 309, 0, 310, 0, 0,
0, 311, 312, 0, 313, 0, 0, 314, 315, 0,
0, 0, 316, 317, 318, 319, 0, 0, 320, 321,
322, 0, 0, 323, 0, 0, 0, 0, 324, 325,
326, 0, 0, 0, 327, 0, 0, 0, 328, 329,
0, 330, 331, 0, 0, 0, 332, 0, 333, 0,
0, 334, 335, 0, 0, 336, 0, 0, 337, 338,
976, 0, 0, 0, 0, 339, 340, 0, 341, 0,
342, 0, 343, 344, 0, 0, 0, 0, 0, 0,
0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 0, 367, 368, 369, 370,
0, 371, 372, 0, 0, 0, 0, 373, 374, 375,
376, 377, 378, 0, 0, 379, 380, 0, 381, 0,
382, 0, 383, 384, 385, 386, 387, 388, 389, 390,
391, 0, 0, 392, 393, 0, 0, 394, 395, 396,
397, 398, 0, 0, 0, 399, 400, 0, 0, 0,
401, 0, 402, 403, 0, 404, 405, 406, 0, 0,
407, 0, 0, 0, 0, 0, 0, 0, 1452, 0,
408, 409, 410, 0, 411, 0, 412, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 0, 423,
0, 424, 425, 426, 0, 427, 0, 428, 429, 430,
431, 432, 0, 433, 434, 435, 0, 0, 436, 0,
0, 0, 437, 438, 0, 439, 440, 0, 0, 441,
442, 443, 444, 445, 0, 446, 447, 0, 448, 449,
450, 0, 0, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 0, 460, 461, 0, 462, 463, 464,
0, 465, 0, 0, 466, 467, 468, 469, 0, 470,
0, 471, 472, 473, 474, 475, 0, 476, 477, 0,
0, 0, 478, 479, 480, 481, 0, 0, 0, 482,
0, 0, 0, 483, 0, 484, 485, 486, 487, 0,
488, 489, 490, 491, 492, 0, 0, 0, 0, 0,
493, 494, 495, 0, 496, 0, 0, 497, 0, 0,
498, 0, 499, 0, 500, 501, 502, 503, 504, 505,
0, 0, 506, 507, 0, 0, 508, 509, 510, 511,
512, 513, 0, 0, 514, 515, 516, 517, 0, 518,
519, 0, 0, 520, 521, 522, 523, 0, 191, 524,
525, 0, 526, 527, 528, 529, 0, 0, 0, 0,
0, 530, 531, 0, 0, 0, 532, 533, 534, 0,
0, 535, 536, 0, 537, 538, 0, 539, 540, 0,
0, 541, 0, 0, 542, 0, 543, 0, 544, 545,
0, 0, 0, 0, 0, 546, 0, 547, 0, 0,
548, 0, 0, 0, 549, 0, 550, 551, 552, 553,
0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
557, 558, 559, 560, 0, 0, 561, 0, 0, 562,
563, 564, 565, 566, 0, 567, 0, 0, 0, 0,
0, 0, 0, 0, 568, 569, 570, 0, 571, 572,
573, 0, 574, 0, 0, 575, 0, 576, 0, 0,
0, 0, 0, 0, 577, 578, 0, 0, 579, 0,
580, 0, 581, 582, 0, 0, 0, 583, 584, 585,
586, 587, 588, 589, 590, 0, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 0, 0, 0, 601,
602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
612, 613, 614, 0, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 1453, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
765, 766, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 767, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 768, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 769, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 770, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 771, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 772, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 773, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 774, 775, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 776, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 777, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 0, 194, 195, 0,
196, 197, 198, 199, 200, 0, 0, 201, 0, 0,
0, 778, 202, 0, 0, 203, 0, 204, 205, 206,
207, 208, 209, 0, 210, 0, 0, 0, 211, 0,
0, 0, 212, 0, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 0, 0, 220, 221,
0, 222, 223, 224, 0, 225, 0, 226, 227, 228,
229, 230, 231, 0, 232, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 0, 247, 248, 249, 250, 251, 0, 0, 0,
252, 0, 0, 0, 0, 253, 0, 0, 254, 0,
0, 0, 255, 256, 257, 0, 0, 258, 0, 0,
0, 0, 259, 260, 0, 0, 0, 0, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 0, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 0, 0, 287, 288, 289, 290, 291,
0, 0, 292, 293, 0, 294, 295, 296, 297, 298,
0, 0, 299, 300, 0, 0, 0, 301, 302, 0,
303, 0, 0, 0, 304, 0, 305, 306, 307, 308,
0, 309, 0, 310, 0, 0, 0, 311, 312, 0,
313, 0, 0, 314, 315, 0, 0, 0, 316, 317,
318, 319, 0, 0, 320, 321, 322, 0, 0, 323,
0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 0, 0, 334, 335, 0,
0, 336, 0, 0, 337, 338, 976, 0, 0, 0,
0, 339, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 0, 367, 368, 369, 370, 0, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 377, 378, 0,
0, 379, 380, 0, 381, 0, 382, 0, 383, 384,
385, 386, 387, 388, 389, 390, 391, 0, 0, 392,
393, 0, 0, 394, 395, 396, 397, 398, 0, 0,
0, 399, 400, 0, 0, 0, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 0,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 0, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 433,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 0, 0, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 465, 0, 0,
466, 467, 468, 469, 0, 470, 0, 471, 472, 473,
474, 475, 0, 476, 477, 0, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 0, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 0, 0, 506, 507,
0, 0, 508, 509, 510, 511, 512, 513, 0, 0,
514, 515, 516, 517, 0, 518, 519, 0, 0, 520,
521, 522, 523, 0, 191, 524, 525, 0, 526, 527,
528, 529, 0, 0, 0, 0, 0, 530, 531, 0,
0, 0, 532, 533, 534, 0, 0, 535, 536, 0,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 544, 545, 0, 0, 0, 0,
0, 546, 0, 547, 0, 0, 548, 0, 0, 0,
549, 0, 550, 551, 552, 553, 0, 0, 0, 0,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 561, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 0, 0, 0,
568, 569, 570, 0, 571, 572, 573, 0, 574, 0,
0, 575, 0, 576, 0, 0, 0, 0, 0, 0,
577, 578, 0, 0, 579, 0, 580, 0, 581, 582,
0, 0, 0, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 0, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 0,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 1193, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 976,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 191, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 0, 194, 195, 0, 196, 197, 198, 199,
200, 0, 0, 201, 0, 0, 0, 1391, 202, 0,
0, 203, 0, 204, 205, 206, 207, 208, 209, 0,
210, 0, 0, 0, 211, 0, 0, 0, 212, 0,
0, 213, 214, 215, 0, 216, 0, 217, 218, 0,
0, 219, 0, 0, 220, 221, 0, 222, 223, 765,
766, 225, 0, 226, 227, 228, 229, 230, 231, 0,
232, 233, 0, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 0, 245, 246, 0, 247, 248,
249, 250, 251, 0, 0, 0, 252, 0, 0, 0,
0, 253, 0, 0, 254, 0, 0, 0, 255, 256,
257, 0, 0, 258, 0, 0, 0, 0, 259, 260,
0, 0, 0, 1201, 261, 262, 0, 263, 0, 0,
0, 0, 0, 264, 265, 266, 267, 268, 0, 0,
0, 269, 0, 0, 270, 271, 272, 0, 0, 0,
273, 0, 274, 275, 0, 276, 277, 278, 0, 0,
279, 280, 0, 281, 282, 283, 284, 285, 286, 0,
0, 287, 288, 289, 290, 291, 0, 0, 292, 293,
0, 294, 295, 296, 297, 298, 0, 0, 299, 300,
0, 0, 0, 301, 302, 0, 303, 0, 0, 0,
304, 0, 305, 306, 307, 308, 0, 768, 0, 310,
0, 0, 0, 311, 312, 0, 313, 0, 0, 314,
315, 0, 0, 0, 316, 317, 318, 319, 0, 0,
320, 321, 322, 0, 0, 323, 0, 0, 0, 0,
324, 325, 326, 0, 0, 0, 327, 0, 0, 0,
328, 329, 0, 330, 331, 0, 0, 0, 332, 0,
333, 0, 0, 334, 335, 0, 0, 336, 0, 0,
337, 338, 0, 0, 0, 0, 0, 339, 340, 0,
769, 0, 342, 0, 343, 344, 0, 0, 0, 0,
0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 0, 371, 372, 0, 0, 0, 0, 373,
374, 375, 376, 377, 378, 0, 0, 379, 380, 0,
381, 0, 382, 0, 383, 384, 385, 386, 387, 388,
770, 390, 391, 0, 0, 392, 393, 0, 0, 394,
395, 396, 397, 398, 0, 0, 0, 399, 400, 0,
0, 0, 401, 0, 402, 403, 0, 404, 405, 406,
0, 0, 407, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408, 409, 410, 0, 411, 0, 412, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
0, 423, 0, 424, 425, 426, 0, 427, 0, 428,
429, 430, 431, 432, 0, 433, 434, 435, 0, 0,
436, 0, 0, 0, 437, 438, 0, 439, 440, 0,
0, 441, 442, 443, 444, 445, 0, 446, 447, 0,
448, 449, 450, 0, 0, 451, 452, 453, 454, 455,
456, 457, 458, 0, 459, 0, 460, 461, 0, 462,
463, 464, 0, 465, 0, 0, 466, 467, 468, 469,
0, 470, 0, 471, 472, 473, 474, 475, 0, 476,
477, 0, 0, 0, 478, 479, 772, 481, 0, 0,
0, 482, 0, 0, 0, 483, 0, 484, 485, 486,
487, 0, 488, 489, 490, 491, 492, 0, 0, 0,
0, 0, 493, 494, 495, 0, 496, 0, 0, 497,
0, 0, 498, 0, 499, 0, 500, 501, 502, 503,
504, 505, 0, 0, 506, 507, 0, 0, 508, 509,
510, 511, 512, 513, 0, 0, 514, 515, 516, 517,
0, 518, 519, 0, 0, 520, 521, 522, 523, 0,
0, 524, 525, 0, 526, 527, 528, 529, 0, 0,
0, 0, 0, 530, 531, 0, 0, 0, 532, 533,
534, 0, 0, 535, 536, 0, 537, 538, 0, 539,
540, 0, 0, 541, 0, 0, 542, 0, 543, 0,
544, 545, 0, 0, 0, 0, 0, 546, 0, 547,
0, 0, 548, 0, 0, 0, 549, 0, 550, 551,
552, 553, 0, 0, 0, 0, 0, 0, 554, 555,
556, 0, 557, 558, 559, 560, 0, 0, 561, 0,
0, 774, 563, 564, 565, 566, 0, 567, 0, 0,
0, 0, 0, 0, 0, 0, 568, 569, 570, 0,
776, 572, 573, 0, 574, 0, 0, 575, 0, 576,
0, 0, 0, 0, 0, 0, 577, 578, 0, 0,
579, 0, 580, 0, 581, 582, 0, 0, 0, 583,
584, 585, 586, 587, 588, 589, 590, 0, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 0, 0,
0, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610, 611, 612, 613, 614, 0, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
778, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 976, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 191, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 0, 194,
195, 0, 196, 197, 198, 199, 200, 0, 0, 201,
0, 0, 0, 1453, 202, 0, 0, 203, 0, 204,
205, 206, 207, 208, 209, 0, 210, 0, 0, 0,
211, 0, 0, 0, 212, 0, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 0, 0,
220, 221, 0, 222, 223, 224, 0, 225, 0, 226,
227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1750, 245, 246, 0, 247, 248, 249, 250, 251, 0,
0, 0, 252, 0, 0, 0, 0, 253, 0, 0,
254, 0, 0, 0, 255, 256, 257, 0, 0, 258,
0, 0, 0, 0, 259, 260, 0, 0, 0, 0,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 0, 0, 287, 288, 289,
290, 291, 0, 0, 292, 293, 0, 294, 295, 296,
297, 298, 0, 0, 299, 300, 0, 0, 0, 301,
302, 0, 303, 0, 0, 0, 304, 0, 305, 306,
307, 308, 0, 309, 0, 310, 0, 0, 0, 311,
312, 0, 313, 0, 0, 314, 315, 0, 0, 0,
316, 317, 318, 319, 0, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 0, 324, 325, 326, 0,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 0, 337, 338, 0, 0,
0, 0, 0, 339, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 0, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 0, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 377,
378, 0, 0, 379, 380, 0, 381, 0, 382, 0,
383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
0, 392, 393, 0, 0, 394, 395, 396, 397, 398,
0, 0, 0, 399, 400, 0, 0, 0, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 0, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 0, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 433, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 0,
0, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 465,
0, 0, 466, 467, 468, 469, 0, 470, 0, 471,
472, 473, 474, 475, 0, 476, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 0, 0,
506, 507, 0, 0, 508, 509, 510, 511, 512, 513,
0, 0, 514, 515, 516, 517, 0, 518, 519, 0,
0, 520, 521, 522, 523, 0, 0, 524, 525, 0,
526, 527, 528, 529, 0, 0, 0, 0, 0, 530,
531, 0, 0, 0, 532, 533, 534, 0, 0, 535,
536, 0, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 544, 545, 0, 0,
0, 0, 0, 546, 0, 547, 0, 0, 548, 0,
0, 0, 549, 0, 550, 551, 552, 553, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 561, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 0,
0, 0, 568, 569, 570, 0, 571, 572, 573, 0,
574, 0, 0, 575, 0, 576, 0, 0, 0, 0,
0, 0, 577, 578, 0, 0, 579, 0, 580, 0,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 1751, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 0, 194, 195, 0, 196, 197,
198, 199, 200, 0, 0, 201, 5088, 0, 0, 5089,
202, 0, 0, 203, 0, 204, 205, 206, 207, 208,
209, 0, 210, 0, 0, 0, 211, 0, 0, 0,
212, 0, 0, 213, 214, 215, 0, 216, 0, 217,
218, 0, 0, 219, 0, 0, 220, 221, 0, 222,
223, 224, 0, 225, 0, 226, 227, 228, 229, 230,
231, 0, 232, 233, 0, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 0, 245, 246, 0,
247, 248, 249, 250, 251, 0, 0, 0, 252, 0,
0, 0, 0, 253, 0, 0, 254, 0, 0, 0,
255, 256, 257, 0, 0, 258, 0, 0, 0, 0,
259, 260, 0, 0, 0, 0, 261, 262, 0, 263,
0, 0, 0, 0, 0, 264, 265, 266, 267, 268,
0, 0, 0, 269, 0, 0, 270, 271, 272, 0,
0, 0, 273, 0, 274, 275, 0, 276, 277, 278,
0, 0, 279, 280, 0, 281, 282, 283, 284, 285,
286, 0, 0, 287, 288, 289, 290, 291, 0, 0,
292, 293, 0, 294, 295, 296, 297, 298, 0, 0,
299, 300, 0, 0, 0, 301, 302, 0, 303, 0,
0, 0, 304, 0, 305, 306, 307, 308, 0, 309,
0, 310, 0, 0, 0, 311, 312, 0, 313, 0,
0, 314, 315, 0, 0, 0, 316, 317, 318, 319,
0, 0, 320, 321, 322, 0, 0, 323, 0, 0,
0, 0, 324, 325, 326, 0, 0, 0, 327, 0,
0, 0, 328, 329, 0, 330, 331, 0, 0, 0,
332, 0, 333, 0, 0, 334, 335, 0, 0, 336,
0, 0, 337, 338, 0, 0, 0, 0, 0, 339,
340, 0, 341, 0, 342, 0, 343, 344, 0, 0,
0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 0,
367, 368, 369, 370, 0, 371, 372, 0, 0, 0,
0, 373, 374, 375, 376, 377, 378, 0, 0, 379,
380, 0, 381, 0, 382, 0, 383, 384, 385, 386,
387, 388, 389, 390, 391, 0, 0, 392, 393, 0,
0, 394, 395, 396, 397, 398, 0, 0, 0, 399,
400, 0, 0, 0, 401, 0, 402, 403, 0, 404,
405, 406, 0, 0, 407, 0, 0, 0, 0, 0,
0, 0, 0, 0, 408, 409, 410, 0, 411, 0,
412, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 0, 423, 0, 424, 425, 426, 0, 427,
0, 428, 429, 430, 431, 432, 0, 433, 434, 435,
0, 0, 436, 0, 0, 0, 437, 438, 0, 439,
440, 0, 0, 441, 442, 443, 444, 445, 0, 446,
447, 0, 448, 449, 450, 0, 0, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 0, 460, 461,
0, 462, 463, 464, 0, 465, 0, 0, 466, 467,
468, 469, 0, 470, 0, 471, 472, 473, 474, 475,
0, 476, 477, 0, 0, 0, 478, 479, 480, 481,
0, 0, 0, 482, 0, 0, 0, 483, 0, 484,
485, 486, 487, 0, 488, 489, 490, 491, 492, 0,
0, 0, 0, 0, 493, 494, 495, 0, 496, 0,
0, 497, 0, 0, 498, 0, 499, 0, 500, 501,
502, 503, 504, 505, 0, 0, 506, 507, 0, 0,
508, 509, 510, 511, 512, 513, 0, 0, 514, 515,
516, 517, 0, 518, 519, 0, 0, 520, 521, 522,
523, 0, 0, 524, 525, 0, 526, 527, 528, 529,
0, 0, 0, 0, 0, 530, 531, 0, 0, 0,
532, 533, 534, 0, 0, 535, 536, 0, 537, 538,
0, 539, 540, 0, 0, 541, 0, 0, 542, 0,
543, 0, 544, 545, 0, 0, 0, 0, 0, 546,
0, 547, 0, 0, 548, 0, 0, 0, 549, 0,
550, 551, 552, 553, 0, 0, 0, 0, 0, 0,
554, 555, 556, 0, 557, 558, 559, 560, 0, 0,
561, 0, 0, 562, 563, 564, 565, 566, 0, 567,
0, 0, 0, 0, 0, 0, 0, 0, 568, 569,
570, 0, 571, 572, 573, 0, 574, 0, 0, 575,
0, 576, 0, 0, 0, 0, 0, 0, 577, 578,
0, 0, 579, 0, 580, 0, 581, 582, 0, 0,
0, 583, 584, 585, 586, 587, 588, 589, 590, 0,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
0, 0, 0, 601, 602, 603, 604, 605, 606, 607,
608, 609, 610, 611, 612, 613, 614, 0, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 1751, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
0, 194, 195, 0, 196, 197, 198, 199, 200, 0,
0, 201, 0, 0, 0, 5089, 202, 0, 0, 203,
0, 204, 205, 206, 207, 208, 209, 0, 210, 0,
0, 0, 211, 0, 0, 0, 212, 0, 0, 213,
214, 215, 0, 216, 0, 217, 218, 0, 0, 219,
0, 0, 220, 221, 0, 222, 223, 224, 0, 225,
0, 226, 227, 228, 229, 230, 231, 0, 232, 233,
0, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 0, 245, 246, 0, 247, 248, 249, 250,
251, 0, 0, 0, 252, 0, 0, 0, 0, 253,
0, 0, 254, 0, 0, 0, 255, 256, 257, 0,
0, 258, 0, 0, 0, 0, 259, 260, 0, 0,
0, 0, 261, 262, 0, 263, 0, 0, 0, 0,
0, 264, 265, 266, 267, 268, 0, 0, 0, 269,
0, 0, 270, 271, 272, 0, 0, 0, 273, 0,
274, 275, 0, 276, 277, 278, 0, 0, 279, 280,
0, 281, 282, 283, 284, 285, 286, 0, 0, 287,
288, 289, 290, 291, 0, 0, 292, 293, 0, 294,
295, 296, 297, 298, 0, 0, 299, 300, 0, 0,
0, 301, 302, 0, 303, 0, 0, 0, 304, 0,
305, 306, 307, 308, 0, 309, 0, 310, 0, 0,
0, 311, 312, 0, 313, 0, 0, 314, 315, 0,
0, 0, 316, 317, 318, 319, 0, 0, 320, 321,
322, 0, 0, 323, 0, 0, 0, 0, 324, 325,
326, 0, 0, 0, 327, 0, 0, 0, 328, 329,
0, 330, 331, 0, 0, 0, 332, 0, 333, 0,
0, 334, 335, 0, 0, 336, 0, 0, 337, 338,
0, 0, 0, 0, 0, 339, 340, 0, 341, 0,
342, 0, 343, 344, 0, 0, 0, 0, 0, 0,
0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 0, 367, 368, 369, 370,
0, 371, 372, 0, 0, 0, 0, 373, 374, 375,
376, 377, 378, 0, 0, 379, 380, 0, 381, 0,
382, 0, 383, 384, 385, 386, 387, 388, 389, 390,
391, 0, 0, 392, 393, 0, 0, 394, 395, 396,
397, 398, 0, 0, 0, 399, 400, 0, 0, 0,
401, 0, 402, 403, 0, 404, 405, 406, 0, 0,
407, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408, 409, 410, 0, 411, 0, 412, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 0, 423,
0, 424, 425, 426, 0, 427, 0, 428, 429, 430,
431, 432, 0, 433, 434, 435, 0, 0, 436, 0,
0, 0, 437, 438, 0, 439, 440, 0, 0, 441,
442, 443, 444, 445, 0, 446, 447, 0, 448, 449,
450, 0, 0, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 0, 460, 461, 0, 462, 463, 464,
0, 465, 0, 0, 466, 467, 468, 469, 0, 470,
0, 471, 472, 473, 474, 475, 0, 476, 477, 42,
0, 0, 478, 479, 480, 481, 0, 0, 0, 482,
0, 0, 0, 483, 0, 484, 485, 486, 487, 0,
488, 489, 490, 491, 492, 0, 0, 0, 0, 0,
493, 494, 495, 0, 496, 0, 0, 497, 0, 0,
498, 0, 499, 0, 500, 501, 502, 503, 504, 505,
0, 0, 506, 507, 0, 0, 508, 509, 510, 511,
512, 513, 0, 0, 514, 515, 516, 517, 0, 518,
519, 0, 0, 520, 521, 522, 523, 0, 0, 524,
525, 0, 526, 527, 528, 529, 0, 0, 0, 0,
0, 530, 531, 0, 0, 0, 532, 533, 534, 0,
0, 535, 536, 0, 537, 538, 0, 539, 540, 0,
0, 541, 0, 0, 542, 0, 543, 0, 544, 545,
0, 0, 0, 0, 0, 546, 0, 547, 0, 0,
548, 0, 0, 0, 549, 0, 550, 551, 552, 553,
0, 0, 0, 53, 0, 0, 554, 555, 556, 0,
557, 558, 559, 560, 0, 0, 561, 0, 0, 562,
563, 564, 565, 566, 0, 567, 0, 0, 0, 0,
0, 0, 0, 0, 568, 569, 570, 0, 571, 572,
573, 0, 574, 0, 0, 575, 0, 576, 0, 0,
0, 0, 0, 0, 577, 578, 0, 0, 579, 0,
580, 0, 581, 582, 0, 0, 0, 583, 584, 585,
586, 587, 588, 589, 590, 0, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 0, 0, 0, 601,
602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
612, 613, 614, 194, 195, 0, 196, 197, 198, 199,
200, 0, 0, 201, 962, 3718, 0, 0, 202, 0,
0, 203, 0, 204, 205, 206, 207, 208, 209, 0,
210, 0, 0, 0, 211, 0, 0, 0, 212, 0,
0, 213, 214, 215, 0, 216, 0, 217, 218, 0,
0, 219, 0, 0, 220, 221, 0, 222, 223, 224,
0, 225, 0, 226, 227, 228, 229, 230, 231, 0,
232, 233, 0, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 0, 245, 246, 0, 247, 248,
249, 250, 251, 0, 0, 0, 252, 0, 0, 0,
0, 253, 0, 0, 254, 0, 0, 0, 255, 256,
257, 0, 0, 258, 0, 0, 0, 0, 259, 260,
0, 0, 0, 0, 261, 262, 0, 263, 0, 0,
0, 0, 0, 264, 265, 266, 267, 268, 0, 0,
0, 269, 0, 0, 270, 271, 272, 0, 0, 0,
273, 0, 274, 275, 0, 276, 277, 278, 0, 0,
279, 280, 0, 281, 282, 283, 284, 285, 286, 0,
0, 287, 288, 289, 290, 291, 0, 0, 292, 293,
0, 294, 295, 296, 297, 298, 0, 0, 299, 300,
0, 0, 0, 301, 302, 0, 303, 0, 0, 0,
304, 0, 305, 306, 307, 308, 0, 309, 0, 310,
0, 0, 0, 311, 312, 0, 313, 0, 0, 314,
315, 0, 0, 0, 316, 317, 318, 319, 0, 0,
320, 321, 322, 0, 0, 323, 0, 0, 0, 0,
324, 325, 326, 0, 0, 0, 327, 0, 0, 0,
328, 329, 0, 330, 331, 0, 0, 0, 332, 0,
333, 0, 0, 334, 335, 0, 0, 336, 0, 0,
337, 338, 0, 0, 0, 0, 0, 339, 340, 0,
341, 0, 342, 0, 343, 344, 0, 0, 0, 0,
0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 0, 371, 372, 0, 0, 0, 0, 373,
374, 375, 376, 377, 378, 0, 0, 379, 380, 0,
381, 0, 382, 0, 383, 384, 385, 386, 387, 388,
389, 390, 391, 0, 0, 392, 393, 0, 0, 394,
395, 396, 397, 398, 0, 0, 0, 399, 400, 0,
0, 0, 401, 0, 402, 403, 0, 404, 405, 406,
0, 0, 407, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408, 409, 410, 0, 411, 0, 412, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
0, 423, 0, 424, 425, 426, 0, 427, 0, 428,
429, 430, 431, 432, 0, 433, 434, 435, 0, 0,
436, 0, 0, 0, 437, 438, 0, 439, 440, 0,
0, 441, 442, 443, 444, 445, 0, 446, 447, 0,
448, 449, 450, 0, 0, 451, 452, 453, 454, 455,
456, 457, 458, 0, 459, 0, 460, 461, 0, 462,
463, 464, 0, 465, 0, 0, 466, 467, 468, 469,
0, 470, 0, 471, 472, 473, 474, 475, 0, 476,
477, 0, 0, 0, 478, 479, 480, 481, 0, 0,
0, 482, 0, 0, 0, 483, 0, 484, 485, 486,
487, 0, 488, 489, 490, 491, 492, 0, 0, 0,
0, 0, 493, 494, 495, 0, 496, 0, 0, 497,
0, 0, 498, 0, 499, 0, 500, 501, 502, 503,
504, 505, 0, 0, 506, 507, 0, 0, 508, 509,
510, 511, 512, 513, 0, 0, 514, 515, 516, 517,
0, 518, 519, 0, 0, 520, 521, 522, 523, 0,
0, 524, 525, 0, 526, 527, 528, 529, 0, 0,
0, 0, 0, 530, 531, 0, 0, 0, 532, 533,
534, 0, 0, 535, 536, 0, 537, 538, 0, 539,
540, 0, 0, 541, 0, 0, 542, 0, 543, 0,
544, 545, 0, 0, 0, 0, 0, 546, 0, 547,
0, 0, 548, 0, 0, 0, 549, 0, 550, 551,
552, 553, 0, 0, 0, 0, 0, 0, 554, 555,
556, 0, 557, 558, 559, 560, 0, 0, 561, 0,
0, 562, 563, 564, 565, 566, 0, 567, 0, 0,
0, 0, 0, 0, 0, 0, 568, 569, 570, 0,
571, 572, 573, 0, 574, 0, 0, 575, 0, 576,
0, 0, 0, 0, 0, 0, 577, 578, 0, 0,
579, 0, 580, 0, 581, 582, 0, 0, 0, 583,
584, 585, 586, 587, 588, 589, 590, 0, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 0, 0,
0, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610, 611, 612, 613, 614, 194, 195, 0, 196, 197,
198, 199, 200, 0, 0, 201, 0, 4051, 0, 0,
202, 0, 0, 203, 0, 204, 205, 206, 207, 208,
209, 0, 210, 0, 0, 0, 211, 0, 0, 0,
212, 0, 0, 213, 214, 215, 0, 216, 0, 217,
218, 0, 0, 219, 0, 0, 220, 221, 0, 222,
223, 224, 0, 225, 0, 226, 227, 228, 229, 230,
231, 0, 232, 233, 0, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 0, 245, 246, 0,
247, 248, 249, 250, 251, 0, 0, 0, 252, 0,
0, 0, 0, 253, 0, 0, 254, 0, 0, 0,
255, 256, 257, 0, 0, 258, 0, 0, 0, 0,
259, 260, 0, 0, 0, 0, 261, 262, 0, 263,
0, 0, 0, 0, 0, 264, 265, 266, 267, 268,
0, 0, 0, 269, 0, 0, 270, 271, 272, 0,
0, 0, 273, 0, 274, 275, 0, 276, 277, 278,
0, 0, 279, 280, 0, 281, 282, 283, 284, 285,
286, 0, 0, 287, 288, 289, 290, 291, 0, 0,
292, 293, 0, 294, 295, 296, 297, 298, 0, 0,
299, 300, 0, 0, 0, 301, 302, 0, 303, 0,
0, 0, 304, 0, 305, 306, 307, 308, 0, 309,
0, 310, 0, 0, 0, 311, 312, 0, 313, 0,
0, 314, 315, 0, 0, 0, 316, 317, 318, 319,
0, 0, 320, 321, 322, 0, 0, 323, 0, 0,
0, 0, 324, 325, 326, 0, 0, 0, 327, 0,
0, 0, 328, 329, 0, 330, 331, 0, 0, 0,
332, 0, 333, 0, 0, 334, 335, 0, 0, 336,
0, 0, 337, 338, 0, 0, 0, 0, 0, 339,
340, 0, 341, 0, 342, 0, 343, 344, 0, 0,
0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 0,
367, 368, 369, 370, 0, 371, 372, 0, 0, 0,
0, 373, 374, 375, 376, 377, 378, 0, 0, 379,
380, 0, 381, 0, 382, 0, 383, 384, 385, 386,
387, 388, 389, 390, 391, 0, 0, 392, 393, 0,
0, 394, 395, 396, 397, 398, 0, 0, 0, 399,
400, 0, 0, 0, 401, 0, 402, 403, 0, 404,
405, 406, 0, 0, 407, 0, 0, 0, 0, 0,
0, 0, 0, 0, 408, 409, 410, 0, 411, 0,
412, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 0, 423, 0, 424, 425, 426, 0, 427,
0, 428, 429, 430, 431, 432, 0, 433, 434, 435,
0, 0, 436, 0, 0, 0, 437, 438, 0, 439,
440, 0, 0, 441, 442, 443, 444, 445, 0, 446,
447, 0, 448, 449, 450, 0, 0, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 0, 460, 461,
0, 462, 463, 464, 0, 465, 0, 0, 466, 467,
468, 469, 0, 470, 0, 471, 472, 473, 474, 475,
0, 476, 477, 0, 0, 0, 478, 479, 480, 481,
0, 0, 0, 482, 0, 0, 0, 483, 0, 484,
485, 486, 487, 0, 488, 489, 490, 491, 492, 0,
0, 0, 0, 0, 493, 494, 495, 0, 496, 0,
0, 497, 0, 0, 498, 0, 499, 0, 500, 501,
502, 503, 504, 505, 0, 0, 506, 507, 0, 0,
508, 509, 510, 511, 512, 513, 0, 0, 514, 515,
516, 517, 0, 518, 519, 0, 0, 520, 521, 522,
523, 0, 0, 524, 525, 0, 526, 527, 528, 529,
0, 0, 0, 0, 0, 530, 531, 0, 0, 0,
532, 533, 534, 0, 0, 535, 536, 0, 537, 538,
0, 539, 540, 0, 0, 541, 0, 0, 542, 0,
543, 0, 544, 545, 0, 0, 0, 0, 0, 546,
0, 547, 0, 0, 548, 0, 0, 0, 549, 0,
550, 551, 552, 553, 0, 0, 0, 0, 0, 0,
554, 555, 556, 0, 557, 558, 559, 560, 0, 0,
561, 0, 0, 562, 563, 564, 565, 566, 0, 567,
0, 0, 0, 0, 0, 0, 0, 0, 568, 569,
570, 0, 571, 572, 573, 0, 574, 0, 0, 575,
0, 576, 0, 0, 0, 0, 0, 0, 577, 578,
0, 0, 579, 0, 580, 0, 581, 582, 0, 0,
0, 583, 584, 585, 586, 587, 588, 589, 590, 0,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
0, 0, 0, 601, 602, 603, 604, 605, 606, 607,
608, 609, 610, 611, 612, 613, 614, 194, 195, 0,
196, 197, 198, 199, 200, 0, 0, 201, 0, 4055,
0, 0, 202, 0, 0, 203, 0, 204, 205, 206,
207, 208, 209, 0, 210, 0, 0, 0, 211, 0,
0, 0, 212, 0, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 0, 0, 220, 221,
0, 222, 223, 224, 0, 225, 0, 226, 227, 228,
229, 230, 231, 0, 232, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 2217, 247, 248, 249, 250, 251, 0, 0, 0,
252, 0, 0, 0, 0, 253, 0, 0, 254, 0,
0, 0, 255, 256, 257, 0, 0, 258, 0, 0,
0, 0, 259, 260, 0, 0, 0, 0, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 0, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 0, 0, 287, 288, 289, 290, 291,
0, 0, 292, 293, 0, 294, 295, 296, 297, 298,
0, 0, 299, 300, 0, 0, 0, 301, 302, 0,
303, 2218, 0, 0, 304, 0, 305, 306, 307, 308,
0, 309, 0, 310, 0, 0, 0, 311, 312, 0,
313, 0, 0, 314, 315, 0, 0, 0, 316, 317,
318, 319, 0, 0, 320, 321, 322, 1610, 0, 323,
0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 1611, 0, 334, 335, 0,
0, 336, 0, 0, 337, 338, 0, 3650, 0, 0,
0, 339, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 0, 367, 368, 369, 370, 0, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 377, 378, 0,
0, 379, 380, 0, 381, 0, 382, 0, 383, 384,
385, 386, 387, 388, 389, 390, 391, 0, 0, 392,
393, 0, 0, 394, 395, 396, 397, 398, 0, 0,
0, 399, 400, 0, 0, 0, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 0,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 0, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 433,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 0, 0, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 465, 0, 0,
466, 467, 468, 469, 0, 470, 0, 471, 472, 473,
474, 475, 0, 476, 477, 42, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 2220, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 0, 0, 506, 507,
0, 0, 508, 509, 510, 511, 512, 513, 0, 0,
514, 515, 516, 517, 0, 518, 519, 0, 0, 520,
521, 522, 523, 0, 0, 524, 525, 0, 526, 527,
528, 529, 0, 0, 0, 0, 0, 530, 531, 0,
0, 0, 532, 533, 534, 0, 0, 535, 536, 0,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 544, 545, 0, 0, 0, 0,
0, 546, 0, 547, 0, 0, 548, 0, 0, 0,
549, 0, 550, 551, 552, 553, 0, 0, 0, 53,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 561, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 0, 0, 0,
568, 569, 570, 0, 571, 572, 573, 0, 574, 0,
0, 575, 0, 576, 0, 0, 0, 0, 0, 0,
577, 578, 0, 0, 579, 0, 580, 0, 581, 582,
0, 0, 0, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 0, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 194,
195, 0, 196, 197, 198, 199, 200, 0, 0, 201,
962, 0, 0, 0, 202, 0, 0, 203, 0, 204,
205, 206, 207, 208, 209, 0, 210, 0, 0, 0,
211, 0, 0, 0, 212, 0, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 0, 0,
220, 221, 0, 222, 223, 224, 0, 225, 0, 226,
227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
0, 0, 252, 0, 0, 0, 0, 253, 0, 0,
254, 0, 0, 0, 255, 256, 257, 0, 0, 258,
0, 0, 0, 0, 259, 260, 0, 0, 0, 0,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 0, 0, 287, 288, 289,
290, 291, 0, 0, 292, 293, 0, 294, 295, 296,
297, 298, 0, 0, 299, 300, 0, 0, 0, 301,
302, 0, 303, 0, 0, 0, 304, 0, 305, 306,
307, 308, 0, 309, 0, 310, 0, 0, 0, 311,
312, 0, 313, 0, 0, 314, 315, 0, 0, 0,
316, 317, 318, 319, 0, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 0, 324, 325, 326, 0,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 0, 337, 338, 0, 0,
0, 0, 0, 339, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 0, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 0, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 377,
378, 0, 0, 379, 380, 0, 381, 0, 382, 0,
383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
0, 392, 393, 0, 0, 394, 395, 396, 397, 398,
0, 0, 0, 399, 400, 0, 0, 0, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 0, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 0, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 433, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 0,
0, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 465,
0, 0, 466, 467, 468, 469, 0, 470, 0, 471,
472, 473, 474, 475, 0, 476, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 0, 0,
506, 507, 0, 0, 508, 509, 510, 511, 512, 513,
0, 0, 514, 515, 516, 517, 0, 518, 519, 0,
0, 520, 521, 522, 523, 0, 0, 524, 525, 0,
526, 527, 528, 529, 0, 0, 0, 0, 0, 530,
531, 0, 0, 0, 532, 533, 534, 0, 0, 535,
536, 0, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 544, 545, 0, 0,
0, 0, 0, 546, 0, 547, 0, 0, 548, 0,
0, 0, 549, 0, 550, 551, 552, 553, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 561, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 0,
0, 0, 568, 569, 570, 0, 571, 572, 573, 0,
574, 0, 0, 575, 0, 576, 0, 0, 0, 0,
0, 0, 577, 578, 0, 0, 579, 0, 580, 0,
581, 582, 0, 0, 2522, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 2523, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 194, 195, 0, 196, 197, 198, 199, 200, 0,
0, 201, 2524, 0, 0, 0, 202, 0, 0, 203,
0, 204, 205, 206, 207, 208, 209, 0, 210, 0,
0, 0, 211, 0, 0, 0, 212, 0, 0, 213,
214, 215, 0, 216, 0, 217, 218, 0, 0, 219,
0, 0, 220, 221, 0, 222, 223, 224, 0, 225,
0, 226, 227, 228, 229, 230, 231, 0, 232, 233,
0, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 0, 245, 246, 0, 247, 248, 249, 250,
251, 0, 0, 0, 252, 0, 0, 0, 0, 253,
0, 0, 254, 0, 0, 0, 255, 256, 257, 0,
0, 258, 0, 0, 0, 0, 259, 260, 0, 0,
0, 0, 261, 262, 0, 263, 0, 0, 0, 0,
0, 264, 265, 266, 267, 268, 0, 0, 0, 269,
0, 0, 270, 271, 272, 0, 0, 0, 273, 0,
274, 275, 0, 276, 277, 278, 0, 0, 279, 280,
0, 281, 282, 283, 284, 285, 286, 0, 0, 287,
288, 289, 290, 291, 0, 0, 292, 293, 0, 294,
295, 296, 297, 298, 0, 0, 299, 300, 0, 0,
0, 301, 302, 0, 303, 0, 0, 0, 304, 0,
305, 306, 307, 308, 0, 309, 0, 310, 0, 0,
0, 311, 312, 0, 313, 0, 0, 314, 315, 0,
0, 0, 316, 317, 318, 319, 0, 0, 320, 321,
322, 0, 0, 323, 0, 0, 0, 0, 324, 325,
326, 0, 0, 0, 327, 0, 0, 0, 328, 329,
0, 330, 331, 0, 0, 0, 332, 0, 333, 0,
0, 334, 335, 0, 0, 336, 0, 0, 337, 338,
0, 0, 0, 0, 0, 339, 340, 0, 341, 0,
342, 0, 343, 344, 0, 0, 0, 0, 0, 0,
0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 0, 367, 368, 369, 370,
0, 371, 372, 0, 0, 0, 0, 373, 374, 375,
376, 377, 378, 0, 0, 379, 380, 0, 381, 0,
382, 0, 383, 384, 385, 386, 387, 388, 389, 390,
391, 0, 0, 392, 393, 0, 0, 394, 395, 396,
397, 398, 0, 0, 0, 399, 400, 0, 0, 0,
401, 0, 402, 403, 0, 404, 405, 406, 0, 0,
407, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408, 409, 410, 0, 411, 0, 412, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 0, 423,
0, 424, 425, 426, 0, 427, 0, 428, 429, 430,
431, 432, 0, 433, 434, 435, 0, 0, 436, 0,
0, 0, 437, 438, 0, 439, 440, 0, 0, 441,
442, 443, 444, 445, 0, 446, 447, 0, 448, 449,
450, 0, 0, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 0, 460, 461, 0, 462, 463, 464,
0, 465, 0, 0, 466, 467, 468, 469, 0, 470,
0, 471, 472, 473, 474, 475, 0, 476, 477, 0,
0, 0, 478, 479, 480, 481, 0, 0, 0, 482,
0, 0, 0, 483, 0, 484, 485, 486, 487, 0,
488, 489, 490, 491, 492, 0, 0, 0, 0, 0,
493, 494, 495, 0, 496, 0, 0, 497, 0, 0,
498, 0, 499, 0, 500, 501, 502, 503, 504, 505,
0, 0, 506, 507, 0, 0, 508, 509, 510, 511,
512, 513, 0, 0, 514, 515, 516, 517, 0, 518,
519, 0, 0, 520, 521, 522, 523, 0, 0, 524,
525, 0, 526, 527, 528, 529, 0, 0, 0, 0,
0, 530, 531, 0, 0, 0, 532, 533, 534, 0,
0, 535, 536, 0, 537, 538, 0, 539, 540, 0,
0, 541, 0, 0, 542, 0, 543, 0, 544, 545,
0, 0, 0, 0, 0, 546, 0, 547, 0, 0,
548, 0, 0, 0, 549, 0, 550, 551, 552, 553,
0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
557, 558, 559, 560, 0, 0, 561, 0, 0, 562,
563, 564, 565, 566, 0, 567, 0, 0, 0, 0,
0, 0, 0, 0, 568, 569, 570, 0, 571, 572,
573, 0, 574, 0, 0, 575, 0, 576, 0, 0,
0, 0, 0, 0, 577, 578, 0, 0, 579, 0,
580, 0, 581, 582, 0, 0, 0, 583, 584, 585,
586, 587, 588, 589, 590, 0, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 0, 0, 0, 601,
602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
612, 613, 614, 194, 195, 0, 196, 197, 198, 199,
200, 0, 0, 201, 1318, 0, 0, 0, 202, 0,
0, 203, 0, 204, 205, 206, 207, 208, 209, 0,
210, 0, 0, 0, 211, 0, 0, 0, 212, 0,
0, 213, 214, 215, 0, 216, 0, 217, 218, 0,
0, 219, 0, 0, 220, 221, 0, 222, 223, 224,
0, 225, 0, 226, 227, 228, 229, 230, 231, 0,
232, 233, 0, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 0, 245, 246, 0, 247, 248,
249, 250, 251, 0, 0, 0, 252, 0, 0, 0,
0, 253, 0, 0, 254, 0, 0, 0, 255, 256,
257, 0, 0, 258, 0, 0, 0, 0, 259, 260,
0, 0, 0, 0, 261, 262, 0, 263, 0, 0,
0, 0, 0, 264, 265, 266, 267, 268, 0, 0,
0, 269, 0, 0, 270, 271, 272, 0, 0, 0,
273, 0, 274, 275, 0, 276, 277, 278, 0, 0,
279, 280, 0, 281, 282, 283, 284, 285, 286, 0,
0, 287, 288, 289, 290, 291, 0, 0, 292, 293,
0, 294, 295, 296, 297, 298, 0, 0, 299, 300,
0, 0, 0, 301, 302, 0, 303, 0, 0, 0,
304, 0, 305, 306, 307, 308, 0, 309, 0, 310,
0, 0, 0, 311, 312, 0, 313, 0, 0, 314,
315, 0, 0, 0, 316, 317, 318, 319, 0, 0,
320, 321, 322, 0, 0, 323, 0, 0, 0, 0,
324, 325, 326, 0, 0, 0, 327, 0, 0, 0,
328, 329, 0, 330, 331, 0, 0, 0, 332, 0,
333, 0, 0, 334, 335, 0, 0, 336, 0, 0,
337, 338, 0, 0, 0, 0, 0, 339, 340, 0,
341, 0, 342, 0, 343, 344, 0, 0, 0, 0,
0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 0, 371, 372, 0, 0, 0, 0, 373,
374, 375, 376, 377, 378, 0, 0, 379, 380, 0,
381, 0, 382, 0, 383, 384, 385, 386, 387, 388,
389, 390, 391, 0, 0, 392, 393, 0, 0, 394,
395, 396, 397, 398, 0, 0, 0, 399, 400, 0,
0, 0, 401, 0, 402, 403, 0, 404, 405, 406,
0, 0, 407, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408, 409, 410, 0, 411, 0, 412, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
0, 423, 0, 424, 425, 426, 0, 427, 0, 428,
429, 430, 431, 432, 0, 433, 434, 435, 0, 0,
436, 0, 0, 0, 437, 438, 0, 439, 440, 0,
0, 441, 442, 443, 444, 445, 0, 446, 447, 0,
448, 449, 450, 0, 0, 451, 452, 453, 454, 455,
456, 457, 458, 0, 459, 0, 460, 461, 0, 462,
463, 464, 0, 465, 0, 0, 466, 467, 468, 469,
0, 470, 0, 471, 472, 473, 474, 475, 0, 476,
477, 0, 0, 0, 478, 479, 480, 481, 0, 0,
0, 482, 0, 0, 0, 483, 0, 484, 485, 486,
487, 0, 488, 489, 490, 491, 492, 0, 0, 0,
0, 0, 493, 494, 495, 0, 496, 0, 0, 497,
0, 0, 498, 0, 499, 0, 500, 501, 502, 503,
504, 505, 0, 0, 506, 507, 0, 0, 508, 509,
510, 511, 512, 513, 0, 0, 514, 515, 516, 517,
0, 518, 519, 0, 0, 520, 521, 522, 523, 0,
0, 524, 525, 0, 526, 527, 528, 529, 0, 0,
0, 0, 0, 530, 531, 0, 0, 0, 532, 533,
534, 0, 0, 535, 536, 0, 537, 538, 0, 539,
540, 0, 0, 541, 0, 0, 542, 0, 543, 0,
544, 545, 0, 0, 0, 0, 0, 546, 0, 547,
0, 0, 548, 0, 0, 0, 549, 0, 550, 551,
552, 553, 0, 0, 0, 0, 0, 0, 554, 555,
556, 0, 557, 558, 559, 560, 0, 0, 561, 0,
0, 562, 563, 564, 565, 566, 0, 567, 0, 0,
0, 0, 0, 0, 0, 0, 568, 569, 570, 0,
571, 572, 573, 0, 574, 0, 0, 575, 0, 576,
0, 0, 0, 0, 0, 0, 577, 578, 0, 0,
579, 0, 580, 0, 581, 582, 0, 0, 0, 583,
584, 585, 586, 587, 588, 589, 590, 0, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 0, 0,
0, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610, 611, 612, 613, 614, 194, 195, 0, 196, 197,
198, 199, 200, 0, 0, 201, 2904, 0, 0, 0,
202, 0, 0, 203, 0, 204, 205, 206, 207, 208,
209, 0, 210, 0, 0, 0, 211, 0, 0, 0,
212, 0, 0, 213, 214, 215, 0, 216, 0, 217,
218, 0, 0, 219, 0, 0, 220, 221, 0, 222,
223, 224, 0, 225, 0, 226, 227, 228, 229, 230,
231, 0, 232, 233, 0, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 0, 245, 246, 0,
247, 248, 249, 250, 251, 0, 0, 0, 252, 0,
0, 0, 0, 253, 0, 0, 254, 0, 0, 0,
255, 256, 257, 0, 0, 258, 0, 0, 0, 0,
259, 260, 0, 0, 0, 0, 261, 262, 0, 263,
0, 0, 0, 0, 0, 264, 265, 266, 267, 268,
0, 0, 0, 269, 0, 0, 270, 271, 272, 0,
0, 0, 273, 0, 274, 275, 0, 276, 277, 278,
0, 0, 279, 280, 0, 281, 282, 283, 284, 285,
286, 0, 0, 287, 288, 289, 290, 291, 0, 0,
292, 293, 0, 294, 295, 296, 297, 298, 0, 0,
299, 300, 0, 0, 0, 301, 302, 0, 303, 0,
0, 0, 304, 0, 305, 306, 307, 308, 0, 309,
0, 310, 0, 0, 0, 311, 312, 0, 313, 0,
0, 314, 315, 0, 0, 0, 316, 317, 318, 319,
0, 0, 320, 321, 322, 0, 0, 323, 0, 0,
0, 0, 324, 325, 326, 0, 0, 0, 327, 0,
0, 0, 328, 329, 0, 330, 331, 0, 0, 0,
332, 0, 333, 0, 0, 334, 335, 0, 0, 336,
0, 0, 337, 338, 0, 0, 0, 0, 0, 339,
340, 0, 341, 0, 342, 0, 343, 344, 0, 0,
0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 0,
367, 368, 369, 370, 0, 371, 372, 0, 0, 0,
0, 373, 374, 375, 376, 377, 378, 0, 0, 379,
380, 0, 381, 0, 382, 0, 383, 384, 385, 386,
387, 388, 389, 390, 391, 0, 0, 392, 393, 0,
0, 394, 395, 396, 397, 398, 0, 0, 0, 399,
400, 0, 0, 0, 401, 0, 402, 403, 0, 404,
405, 406, 0, 0, 407, 0, 0, 0, 0, 0,
0, 0, 0, 0, 408, 409, 410, 0, 411, 0,
412, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 0, 423, 0, 424, 425, 426, 0, 427,
0, 428, 429, 430, 431, 432, 0, 433, 434, 435,
0, 0, 436, 0, 0, 0, 437, 438, 0, 439,
440, 0, 0, 441, 442, 443, 444, 445, 0, 446,
447, 0, 448, 449, 450, 0, 0, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 0, 460, 461,
0, 462, 463, 464, 0, 465, 0, 0, 466, 467,
468, 469, 0, 470, 0, 471, 472, 473, 474, 475,
0, 476, 477, 0, 0, 0, 478, 479, 480, 481,
0, 0, 0, 482, 0, 0, 0, 483, 0, 484,
485, 486, 487, 0, 488, 489, 490, 491, 492, 0,
0, 0, 0, 0, 493, 494, 495, 0, 496, 0,
0, 497, 0, 0, 498, 0, 499, 0, 500, 501,
502, 503, 504, 505, 0, 0, 506, 507, 0, 0,
508, 509, 510, 511, 512, 513, 0, 0, 514, 515,
516, 517, 0, 518, 519, 0, 0, 520, 521, 522,
523, 0, 0, 524, 525, 0, 526, 527, 528, 529,
0, 0, 0, 0, 0, 530, 531, 0, 0, 0,
532, 533, 534, 0, 0, 535, 536, 0, 537, 538,
0, 539, 540, 0, 0, 541, 0, 0, 542, 0,
543, 0, 544, 545, 0, 0, 0, 0, 0, 546,
0, 547, 0, 0, 548, 0, 0, 0, 549, 0,
550, 551, 552, 553, 0, 0, 0, 0, 0, 0,
554, 555, 556, 0, 557, 558, 559, 560, 0, 0,
561, 0, 0, 562, 563, 564, 565, 566, 0, 567,
0, 0, 0, 0, 0, 0, 0, 0, 568, 569,
570, 0, 571, 572, 573, 0, 574, 0, 0, 575,
0, 576, 0, 0, 0, 0, 0, 0, 577, 578,
0, 0, 579, 0, 580, 0, 581, 582, 0, 0,
0, 583, 584, 585, 586, 587, 588, 589, 590, 0,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
0, 0, 0, 601, 602, 603, 604, 605, 606, 607,
608, 609, 610, 611, 612, 613, 614, 194, 195, 0,
196, 197, 198, 199, 200, 0, 0, 201, 3345, 0,
0, 0, 202, 0, 0, 203, 0, 204, 205, 206,
207, 208, 209, 0, 210, 0, 0, 0, 211, 0,
0, 0, 212, 0, 0, 213, 214, 215, 0, 216,
0, 217, 218, 0, 0, 219, 0, 0, 220, 221,
0, 222, 223, 224, 0, 225, 0, 226, 227, 228,
229, 230, 231, 0, 232, 233, 0, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 0, 245,
246, 0, 247, 248, 249, 250, 251, 0, 0, 0,
252, 0, 0, 0, 0, 253, 0, 0, 254, 0,
0, 0, 255, 256, 257, 0, 0, 258, 0, 0,
0, 0, 259, 260, 0, 0, 0, 0, 261, 262,
0, 263, 0, 0, 0, 0, 0, 264, 265, 266,
267, 268, 0, 0, 0, 269, 0, 0, 270, 271,
272, 0, 0, 0, 273, 0, 274, 275, 0, 276,
277, 278, 0, 0, 279, 280, 0, 281, 282, 283,
284, 285, 286, 0, 0, 287, 288, 289, 290, 291,
0, 0, 292, 293, 0, 294, 295, 296, 297, 298,
0, 0, 299, 300, 0, 0, 0, 301, 302, 0,
303, 0, 0, 0, 304, 0, 305, 306, 307, 308,
0, 309, 0, 310, 0, 0, 0, 311, 312, 0,
313, 0, 0, 314, 315, 0, 0, 0, 316, 317,
318, 319, 0, 0, 320, 321, 322, 0, 0, 323,
0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
327, 0, 0, 0, 328, 329, 0, 330, 331, 0,
0, 0, 332, 0, 333, 0, 0, 334, 335, 0,
0, 336, 0, 0, 337, 338, 0, 0, 0, 0,
0, 339, 340, 0, 341, 0, 342, 0, 343, 344,
0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 0, 367, 368, 369, 370, 0, 371, 372, 0,
0, 0, 0, 373, 374, 375, 376, 377, 378, 0,
0, 379, 380, 0, 381, 0, 382, 0, 383, 384,
385, 386, 387, 388, 389, 390, 391, 0, 0, 392,
393, 0, 0, 394, 395, 396, 397, 398, 0, 0,
0, 399, 400, 0, 0, 0, 401, 0, 402, 403,
0, 404, 405, 406, 0, 0, 407, 0, 0, 0,
0, 0, 0, 0, 0, 0, 408, 409, 410, 0,
411, 0, 412, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 0, 423, 0, 424, 425, 426,
0, 427, 0, 428, 429, 430, 431, 432, 0, 433,
434, 435, 0, 0, 436, 0, 0, 0, 437, 438,
0, 439, 440, 0, 0, 441, 442, 443, 444, 445,
0, 446, 447, 0, 448, 449, 450, 0, 0, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 0,
460, 461, 0, 462, 463, 464, 0, 465, 0, 0,
466, 467, 468, 469, 0, 470, 0, 471, 472, 473,
474, 475, 0, 476, 477, 0, 0, 0, 478, 479,
480, 481, 0, 0, 0, 482, 0, 0, 0, 483,
0, 484, 485, 486, 487, 0, 488, 489, 490, 491,
492, 0, 0, 0, 0, 0, 493, 494, 495, 0,
496, 0, 0, 497, 0, 0, 498, 0, 499, 0,
500, 501, 502, 503, 504, 505, 0, 0, 506, 507,
0, 0, 508, 509, 510, 511, 512, 513, 0, 0,
514, 515, 516, 517, 0, 518, 519, 0, 0, 520,
521, 522, 523, 0, 0, 524, 525, 0, 526, 527,
528, 529, 0, 0, 0, 0, 0, 530, 531, 0,
0, 0, 532, 533, 534, 0, 0, 535, 536, 0,
537, 538, 0, 539, 540, 0, 0, 541, 0, 0,
542, 0, 543, 0, 544, 545, 0, 0, 0, 0,
0, 546, 0, 547, 0, 0, 548, 0, 0, 0,
549, 0, 550, 551, 552, 553, 0, 0, 0, 0,
0, 0, 554, 555, 556, 0, 557, 558, 559, 560,
0, 0, 561, 0, 0, 562, 563, 564, 565, 566,
0, 567, 0, 0, 0, 0, 0, 0, 0, 0,
568, 569, 570, 0, 571, 572, 573, 0, 574, 0,
0, 575, 0, 576, 0, 0, 0, 0, 0, 0,
577, 578, 0, 0, 579, 0, 580, 0, 581, 582,
0, 0, 0, 583, 584, 585, 586, 587, 588, 589,
590, 0, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 0, 0, 0, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 194,
195, 0, 196, 197, 198, 199, 200, 0, 0, 201,
3937, 0, 0, 0, 202, 0, 0, 203, 0, 204,
205, 206, 207, 208, 209, 0, 210, 0, 0, 0,
211, 0, 0, 0, 212, 0, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 0, 0,
220, 221, 0, 222, 223, 224, 0, 225, 0, 226,
227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
0, 0, 252, 0, 0, 0, 0, 253, 0, 0,
254, 0, 0, 0, 255, 256, 257, 0, 0, 258,
0, 0, 0, 0, 259, 260, 0, 0, 0, 0,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 0, 0, 287, 288, 289,
290, 291, 0, 0, 292, 293, 0, 294, 295, 296,
297, 298, 0, 0, 299, 300, 0, 0, 0, 301,
302, 0, 303, 0, 0, 0, 304, 0, 305, 306,
307, 308, 0, 309, 0, 310, 0, 0, 0, 311,
312, 0, 313, 0, 0, 314, 315, 0, 0, 0,
316, 317, 318, 319, 0, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 0, 324, 325, 326, 0,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 0, 337, 338, 0, 0,
0, 0, 0, 339, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 0, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 0, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 377,
378, 0, 0, 379, 380, 0, 381, 0, 382, 0,
383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
0, 392, 393, 0, 0, 394, 395, 396, 397, 398,
0, 0, 0, 399, 400, 0, 0, 0, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 0, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 0, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 433, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 0,
0, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 465,
0, 0, 466, 467, 468, 469, 0, 470, 0, 471,
472, 473, 474, 475, 0, 476, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 0, 0,
506, 507, 0, 0, 508, 509, 510, 511, 512, 513,
0, 0, 514, 515, 516, 517, 0, 518, 519, 0,
0, 520, 521, 522, 523, 0, 0, 524, 525, 0,
526, 527, 528, 529, 0, 0, 0, 0, 0, 530,
531, 0, 0, 0, 532, 533, 534, 0, 0, 535,
536, 0, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 544, 545, 0, 0,
0, 0, 0, 546, 0, 547, 0, 0, 548, 0,
0, 0, 549, 0, 550, 551, 552, 553, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 561, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 0,
0, 0, 568, 569, 570, 0, 571, 572, 573, 0,
574, 0, 0, 575, 0, 576, 0, 0, 0, 0,
0, 0, 577, 578, 0, 0, 579, 0, 580, 0,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 0, 0, 194, 195, 2418, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 0, 0, 0, 194,
195, 2463, 196, 197, 198, 199, 200, 0, 0, 201,
0, 0, 0, 0, 202, 0, 0, 203, 0, 204,
205, 206, 207, 208, 209, 0, 210, 0, 0, 0,
211, 0, 0, 0, 212, 0, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 0, 0,
220, 221, 0, 222, 223, 224, 0, 225, 0, 226,
227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
0, 0, 252, 0, 0, 0, 0, 253, 0, 0,
254, 0, 0, 0, 255, 256, 257, 0, 0, 258,
0, 0, 0, 0, 259, 260, 0, 0, 0, 0,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 0, 0, 287, 288, 289,
290, 291, 0, 0, 292, 293, 0, 294, 295, 296,
297, 298, 0, 0, 299, 300, 0, 0, 0, 301,
302, 0, 303, 0, 0, 0, 304, 0, 305, 306,
307, 308, 0, 309, 0, 310, 0, 0, 0, 311,
312, 0, 313, 0, 0, 314, 315, 0, 0, 0,
316, 317, 318, 319, 0, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 0, 324, 325, 326, 0,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 0, 337, 338, 0, 0,
0, 0, 0, 339, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 0, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 0, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 377,
378, 0, 0, 379, 380, 0, 381, 0, 382, 0,
383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
0, 392, 393, 0, 0, 394, 395, 396, 397, 398,
0, 0, 0, 399, 400, 0, 0, 0, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 0, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 0, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 433, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 0,
0, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 465,
0, 0, 466, 467, 468, 469, 0, 470, 0, 471,
472, 473, 474, 475, 0, 476, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 0, 0,
506, 507, 0, 0, 508, 509, 510, 511, 512, 513,
0, 0, 514, 515, 516, 517, 0, 518, 519, 0,
0, 520, 521, 522, 523, 0, 0, 524, 525, 0,
526, 527, 528, 529, 0, 0, 0, 0, 0, 530,
531, 0, 0, 0, 532, 533, 534, 0, 0, 535,
536, 0, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 544, 545, 0, 0,
0, 0, 0, 546, 0, 547, 0, 0, 548, 0,
0, 0, 549, 0, 550, 551, 552, 553, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 561, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 0,
0, 0, 568, 569, 570, 0, 571, 572, 573, 0,
574, 0, 0, 575, 0, 576, 0, 0, 0, 0,
0, 0, 577, 578, 0, 0, 579, 0, 580, 0,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 0, 0, 194, 195, 3418, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 0, 0, 0, 194,
195, 3677, 196, 197, 198, 199, 200, 0, 0, 201,
0, 0, 0, 0, 202, 0, 0, 203, 0, 204,
205, 206, 207, 208, 209, 0, 210, 0, 0, 0,
211, 0, 0, 0, 212, 0, 0, 213, 214, 215,
0, 216, 0, 217, 218, 0, 0, 219, 0, 0,
220, 221, 0, 222, 223, 224, 0, 225, 0, 226,
227, 228, 229, 230, 231, 0, 232, 233, 0, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
0, 245, 246, 0, 247, 248, 249, 250, 251, 0,
0, 0, 252, 0, 0, 0, 0, 253, 0, 0,
254, 0, 0, 0, 255, 256, 257, 0, 0, 258,
0, 0, 0, 0, 259, 260, 0, 0, 0, 0,
261, 262, 0, 263, 0, 0, 0, 0, 0, 264,
265, 266, 267, 268, 0, 0, 0, 269, 0, 0,
270, 271, 272, 0, 0, 0, 273, 0, 274, 275,
0, 276, 277, 278, 0, 0, 279, 280, 0, 281,
282, 283, 284, 285, 286, 0, 0, 287, 288, 289,
290, 291, 0, 0, 292, 293, 0, 294, 295, 296,
297, 298, 0, 0, 299, 300, 0, 0, 0, 301,
302, 0, 303, 0, 0, 0, 304, 0, 305, 306,
307, 308, 0, 309, 0, 310, 0, 0, 0, 311,
312, 0, 313, 0, 0, 314, 315, 0, 0, 0,
316, 317, 318, 319, 0, 0, 320, 321, 322, 0,
0, 323, 0, 0, 0, 0, 324, 325, 326, 0,
0, 0, 327, 0, 0, 0, 328, 329, 0, 330,
331, 0, 0, 0, 332, 0, 333, 0, 0, 334,
335, 0, 0, 336, 0, 0, 337, 338, 0, 0,
0, 0, 0, 339, 340, 0, 341, 0, 342, 0,
343, 344, 0, 0, 0, 0, 0, 0, 0, 345,
0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 0, 371,
372, 0, 0, 0, 0, 373, 374, 375, 376, 377,
378, 0, 0, 379, 380, 0, 381, 0, 382, 0,
383, 384, 385, 386, 387, 388, 389, 390, 391, 0,
0, 392, 393, 0, 0, 394, 395, 396, 397, 398,
0, 0, 0, 399, 400, 0, 0, 0, 401, 0,
402, 403, 0, 404, 405, 406, 0, 0, 407, 0,
0, 0, 0, 0, 0, 0, 0, 0, 408, 409,
410, 0, 411, 0, 412, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 0, 423, 0, 424,
425, 426, 0, 427, 0, 428, 429, 430, 431, 432,
0, 433, 434, 435, 0, 0, 436, 0, 0, 0,
437, 438, 0, 439, 440, 0, 0, 441, 442, 443,
444, 445, 0, 446, 447, 0, 448, 449, 450, 0,
0, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 0, 460, 461, 0, 462, 463, 464, 0, 465,
0, 0, 466, 467, 468, 469, 0, 470, 0, 471,
472, 473, 474, 475, 0, 476, 477, 0, 0, 0,
478, 479, 480, 481, 0, 0, 0, 482, 0, 0,
0, 483, 0, 484, 485, 486, 487, 0, 488, 489,
490, 491, 492, 0, 0, 0, 0, 0, 493, 494,
495, 0, 496, 0, 0, 497, 0, 0, 498, 0,
499, 0, 500, 501, 502, 503, 504, 505, 0, 0,
506, 507, 0, 0, 508, 509, 510, 511, 512, 513,
0, 0, 514, 515, 516, 517, 0, 518, 519, 0,
0, 520, 521, 522, 523, 0, 0, 524, 525, 0,
526, 527, 528, 529, 0, 0, 0, 0, 0, 530,
531, 0, 0, 0, 532, 533, 534, 0, 0, 535,
536, 0, 537, 538, 0, 539, 540, 0, 0, 541,
0, 0, 542, 0, 543, 0, 544, 545, 0, 0,
0, 0, 0, 546, 0, 547, 0, 0, 548, 0,
0, 0, 549, 0, 550, 551, 552, 553, 0, 0,
0, 0, 0, 0, 554, 555, 556, 0, 557, 558,
559, 560, 0, 0, 561, 0, 0, 562, 563, 564,
565, 566, 0, 567, 0, 0, 0, 0, 0, 0,
0, 0, 568, 569, 570, 0, 571, 572, 573, 0,
574, 0, 0, 575, 0, 576, 0, 0, 0, 0,
0, 0, 577, 578, 0, 0, 579, 0, 580, 0,
581, 582, 0, 0, 0, 583, 584, 585, 586, 587,
588, 589, 590, 0, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 0, 0, 0, 601, 602, 603,
604, 605, 606, 607, 608, 609, 610, 611, 612, 613,
614, 0, 0, 0, 194, 195, 3691, 196, 197, 198,
199, 200, 675, 676, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 677, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 678,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 679, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 680, 284, 285, 681,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 682, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 683,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 684, 0, 323, 0, 0, 0,
685, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 686, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 687, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 0, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
688, 429, 430, 431, 689, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
690, 0, 441, 442, 443, 444, 445, 0, 691, 447,
0, 448, 449, 450, 0, 0, 692, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 693, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 694, 695, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 696, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 191, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 697, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 698, 543,
699, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 0, 0, 591,
592, 593, 0, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 747, 676, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
677, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 678, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 679, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 680, 284,
285, 681, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 682, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 683, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 684, 0, 323, 0,
0, 0, 685, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 686, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 687, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 0, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 688, 429, 430, 431, 748, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 690, 0, 441, 442, 443, 444, 445, 0,
691, 447, 0, 448, 449, 450, 0, 0, 692, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 693, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 694, 695, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 696,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 191, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 697, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
698, 543, 699, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 0,
0, 591, 592, 593, 0, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 676, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 677, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 678, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 679, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
680, 284, 285, 681, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 682, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 683, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 684, 0,
323, 0, 0, 0, 685, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 686, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 687, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 0, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 688, 429, 430, 431, 0, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 690, 0, 441, 442, 443, 444,
445, 0, 691, 447, 0, 448, 449, 450, 0, 0,
692, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 693, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 694,
695, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 696, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 191, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
697, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 698, 543, 699, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 0, 0, 591, 592, 593, 0, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 2796, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 2797, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 2798, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 2799, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 1640, 1641, 0, 399, 400, 0, 0, 2800, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 5149, 742, 5150, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 2801,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 1682, 1683, 202, 1684, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 1685, 0, 0, 1686, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 1687,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 1688, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 1170, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 1171, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 1172,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 976, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 1173, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 191, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
2217, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
2218, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 1610, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 1611, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
2220, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 1195, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 1196, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 976, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 191, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 1464, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 1465, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 874, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 1466,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 1170, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 3533, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 976, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 191,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 975, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 976, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 191, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 977, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 975, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 976, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 191, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
1265, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 1266, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 1267, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 1892, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 976,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 191, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 2544, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 976, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 191,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 976, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 2980, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 191, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 1170, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 976, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 191, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 976, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 3599, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 191, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 976,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 191, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 5059, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 5060,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 742, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 805, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
1003, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 1004, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 2184, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 2308, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 1687, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 2906, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 2917, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
2945, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 3008, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 286,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 449, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 483, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 286, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 294, 295, 296, 1772, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 1773, 397, 398, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 449, 450, 0, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 483, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 286, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 294, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 449, 450, 0, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
483, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 4797, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
1201, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 286, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 294, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 0, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 0, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 449, 450,
0, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 0, 481, 0, 0, 0, 482, 0,
0, 0, 483, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
1202, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 0, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 0, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 1201, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 286, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
294, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 0, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 0,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
449, 450, 0, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 0, 481, 0, 0, 0,
482, 0, 0, 0, 483, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
0, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 0,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 1186, 0, 201, 0, 0, 0, 0, 202,
0, 0, 203, 0, 204, 205, 206, 207, 208, 209,
0, 210, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 217, 218,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
224, 0, 225, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 250, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
260, 0, 0, 0, 1187, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 269, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 274, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 0, 284, 285, 0,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 0, 295, 296, 297, 298, 0, 0, 299,
300, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 311, 312, 0, 313, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 321, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 326, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 334, 335, 0, 0, 336, 0,
0, 337, 338, 686, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 1188, 0, 0, 0, 399, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 423, 0, 424, 425, 426, 0, 427, 0,
0, 429, 430, 431, 0, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 0, 447,
0, 448, 449, 450, 0, 0, 0, 452, 453, 454,
455, 456, 457, 458, 0, 459, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 466, 467, 468,
469, 0, 470, 0, 471, 472, 473, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 0, 0, 484, 485,
486, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 501, 502,
503, 504, 505, 0, 0, 506, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 0, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 191, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 532,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
539, 540, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 558, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 574, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 0, 0, 591,
592, 593, 0, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 4882, 0, 201, 0, 0, 0,
0, 202, 0, 0, 203, 0, 204, 205, 206, 207,
208, 209, 0, 210, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
217, 218, 0, 0, 219, 0, 0, 220, 221, 0,
222, 223, 224, 0, 225, 0, 226, 227, 228, 229,
230, 231, 0, 232, 233, 0, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 250, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 260, 0, 0, 0, 4883, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 269, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 274, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 0, 284,
285, 0, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 0, 0, 295, 296, 297, 298, 0,
0, 299, 300, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 311, 312, 0, 313,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 0, 0, 320, 321, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 326, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 0, 0,
0, 332, 0, 333, 0, 0, 334, 335, 0, 0,
336, 0, 0, 337, 338, 686, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 4884, 0, 0, 0,
399, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 406, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 423, 0, 424, 425, 426, 0,
427, 0, 0, 429, 430, 431, 0, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
0, 447, 0, 448, 449, 450, 0, 0, 0, 452,
453, 454, 455, 456, 457, 458, 0, 459, 0, 460,
461, 0, 462, 463, 464, 0, 465, 0, 0, 466,
467, 468, 469, 0, 470, 0, 471, 472, 473, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 0, 0,
484, 485, 486, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
501, 502, 503, 504, 505, 0, 0, 506, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 0,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 191, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 532, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 539, 540, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, 0, 0, 0,
0, 554, 555, 556, 0, 557, 558, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 574, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 0,
0, 591, 592, 593, 0, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 1831, 0, 201, 0,
0, 0, 0, 202, 0, 0, 203, 0, 204, 205,
206, 207, 208, 209, 0, 210, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 217, 218, 0, 0, 219, 0, 0, 220,
221, 0, 222, 223, 224, 0, 225, 0, 226, 227,
228, 229, 230, 231, 0, 232, 233, 0, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 250, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 260, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 269, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, 274, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
0, 284, 285, 0, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 0, 0, 295, 296, 297,
298, 0, 0, 299, 300, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 311, 312,
0, 313, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 0, 0, 320, 321, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 326, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
0, 0, 0, 332, 0, 333, 0, 0, 334, 335,
0, 0, 336, 0, 0, 337, 338, 686, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, 0, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 1832, 0,
0, 0, 399, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 406, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 423, 0, 424, 425,
426, 0, 427, 0, 0, 429, 430, 431, 0, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 0, 447, 0, 448, 449, 450, 0, 0,
0, 452, 453, 454, 455, 456, 457, 458, 0, 459,
0, 460, 461, 0, 462, 463, 464, 0, 465, 0,
0, 466, 467, 468, 469, 0, 470, 0, 471, 472,
473, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
0, 0, 484, 485, 486, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 501, 502, 503, 504, 505, 0, 0, 506,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 0, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 191, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 532, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 539, 540, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, 0,
0, 0, 0, 554, 555, 556, 0, 557, 558, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 574,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 0, 0, 591, 592, 593, 0, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 2763, 0,
201, 0, 0, 0, 0, 202, 0, 0, 203, 0,
204, 205, 206, 207, 208, 209, 0, 210, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 217, 218, 0, 0, 219, 0,
0, 220, 221, 0, 222, 223, 224, 0, 225, 0,
226, 227, 228, 229, 230, 231, 0, 232, 233, 0,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 250, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 260, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 269, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 274,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 0, 284, 285, 0, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 0, 0, 295,
296, 297, 298, 0, 0, 299, 300, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
311, 312, 0, 313, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 0, 0, 320, 321, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 326,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 0, 0, 0, 332, 0, 333, 0, 0,
334, 335, 0, 0, 336, 0, 0, 337, 338, 686,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, 0, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
2764, 0, 0, 0, 399, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 406, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 423, 0,
424, 425, 426, 0, 427, 0, 0, 429, 430, 431,
0, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 0, 447, 0, 448, 449, 450,
0, 0, 0, 452, 453, 454, 455, 456, 457, 458,
0, 459, 0, 460, 461, 0, 462, 463, 464, 0,
465, 0, 0, 466, 467, 468, 469, 0, 470, 0,
471, 472, 473, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 0, 0, 484, 485, 486, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 501, 502, 503, 504, 505, 0,
0, 506, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 0, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 191, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 532, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 539, 540, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, 0, 0, 0, 0, 554, 555, 556, 0, 557,
558, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 574, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 0, 0, 591, 592, 593, 0, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
203, 0, 204, 205, 206, 207, 208, 209, 0, 210,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 217, 218, 0, 0,
219, 0, 0, 220, 221, 0, 222, 223, 224, 0,
225, 0, 226, 227, 228, 229, 230, 231, 0, 232,
233, 0, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
250, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 260, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
269, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 274, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 0, 284, 285, 0, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 0,
0, 295, 296, 297, 298, 0, 0, 299, 300, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 311, 312, 0, 313, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 0, 0, 320,
321, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 326, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 0, 0, 0, 332, 0, 333,
0, 0, 334, 335, 0, 0, 336, 0, 0, 337,
338, 686, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, 0,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 0, 0, 0, 0, 399, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 406, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
423, 0, 424, 425, 426, 0, 427, 0, 0, 429,
430, 431, 0, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 0, 447, 0, 448,
449, 450, 0, 0, 0, 452, 453, 454, 455, 456,
457, 458, 0, 459, 0, 460, 461, 0, 462, 463,
464, 0, 465, 0, 0, 466, 467, 468, 469, 0,
470, 0, 471, 472, 473, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 0, 0, 484, 485, 486, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 501, 502, 503, 504,
505, 0, 0, 506, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 0, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 191,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 532, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 539, 540,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, 0, 0, 0, 0, 554, 555, 556,
0, 557, 558, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 574, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 0, 0, 591, 592, 593,
0, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 0, 0, 204, 205, 206, 207, 208, 209,
0, -449, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 0, 0,
0, 0, 219, 4748, 0, 220, 221, 0, 222, 223,
0, 0, 0, 0, 226, 227, 228, 4749, 230, 231,
0, 232, 233, 0, 234, 235, 0, 237, 0, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 0, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
0, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 0, 0, 0, 270, 271, 272, 0, -419,
-419, 273, 0, -419, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 0,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 4750, 294, 295, 296, 297, 298, 0, 0, 0,
0, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 0, 312, 0, 0, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 4751,
0, 320, 0, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 0, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 4752, 0, 0, 332,
0, 333, 0, 0, 0, 335, 0, 0, 336, 4753,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, -404, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 0, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
4754, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 0, 0, 0, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 0, 450, -404, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 0, 0, 460, 461, 0,
462, 463, 464, 4755, 465, 0, 0, 0, 467, 468,
469, 0, 470, 0, 471, 472, 0, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 0, 0, 0, 485,
0, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 0, 502,
503, 504, 505, 0, 0, 0, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 0,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
0, 0, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, -404, 0, 0, 0, 554,
555, 556, 0, 557, 0, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 0, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 0, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 0, 0, 204, 205, 206, 207,
208, 209, 0, -449, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
0, 0, 0, 0, 219, 4748, 0, 220, 221, 0,
222, 223, 0, 0, 0, 0, 226, 227, 228, 4749,
230, 231, 0, 232, 233, 0, 234, 235, 0, 237,
0, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 0, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 0, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 0, 0, 0, 270, 271, 272,
0, -440, 0, 273, 0, -440, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 0, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 4750, 294, 295, 296, 297, 298, 0,
0, 0, 0, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 0, 312, 0, 0,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 4751, 0, 320, 0, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 0, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 4752, 0,
0, 332, 0, 333, 0, 0, 0, 335, 0, 0,
336, 4753, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, -404, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
0, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 4754, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 0, 0, 0, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 0, 450, -404, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 0, 0, 460,
461, 0, 462, 463, 464, 4755, 465, 0, 0, 0,
467, 468, 469, 0, 470, 0, 471, 472, 0, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 0, 0,
0, 485, 0, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
0, 502, 503, 504, 505, 0, 0, 0, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 0, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 0, 0, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, -440, 0, -404, 0, 0,
0, 554, 555, 556, 0, 557, 0, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 0, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 0, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 0, 0, 204, 205,
206, 207, 208, 209, 0, -449, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 0, 0, 0, 0, 219, 4748, 0, 220,
221, 0, 222, 223, 0, 0, 0, 0, 226, 227,
228, 4749, 230, 231, 0, 232, 233, 0, 234, 235,
0, 237, 0, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 0, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 0, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 0, 0, 0, 270,
271, 272, 0, -437, 0, 273, 0, -437, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 0, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 4750, 294, 295, 296, 297,
298, 0, 0, 0, 0, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 0, 312,
0, 0, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 4751, 0, 320, 0, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 0, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
4752, 0, 0, 332, 0, 333, 0, 0, 0, 335,
0, 0, 336, 4753, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, -404, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 0, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 4754, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 0, 0, 0, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 0, 450, -404, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 0,
0, 460, 461, 0, 462, 463, 464, 4755, 465, 0,
0, 0, 467, 468, 469, 0, 470, 0, 471, 472,
0, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
0, 0, 0, 485, 0, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 0, 502, 503, 504, 505, 0, 0, 0,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 0, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 0, 0, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, -437, 0, -404,
0, 0, 0, 554, 555, 556, 0, 557, 0, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 0,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 0, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 0, 0,
204, 205, 206, 207, 208, 209, 0, -449, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 0, 0, 0, 0, 219, 4748,
0, 220, 221, 0, 222, 223, 0, 0, 0, 0,
226, 227, 228, 4749, 230, 231, 0, 232, 233, 0,
234, 235, 0, 237, 0, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 0, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 0, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 0, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 5003,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 0, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 4750, 294, 295,
296, 297, 298, 0, 0, 0, 0, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
0, 312, 0, 0, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 4751, 0, 320, 0, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 0,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 4752, 0, 0, 332, 0, 333, 0, 0,
0, 335, 0, 0, 336, 4753, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, -404, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 0, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 4754, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 0, 0,
0, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 0, 450,
-404, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 0, 0, 460, 461, 0, 462, 463, 464, 4755,
465, 0, 0, 0, 467, 468, 469, 0, 470, 0,
471, 472, 0, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 0, 0, 0, 485, 0, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 0, 502, 503, 504, 505, 0,
0, 0, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 0, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 0, 0, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, -404, 0, 0, 0, 554, 555, 556, 0, 557,
0, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 0, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 0, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
0, 0, 204, 205, 206, 207, 208, 209, 0, -449,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 0, 0, 0, 0,
219, 4748, 0, 220, 221, 0, 222, 223, 0, 0,
0, 0, 226, 227, 228, 4749, 230, 231, 0, 232,
233, 0, 234, 235, 0, 237, 0, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
0, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 0, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
0, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, -442, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 0, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 4750,
294, 295, 296, 297, 298, 0, 0, 0, 0, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 0, 312, 0, 0, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 4751, 0, 320,
0, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 0, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 4752, 0, 0, 332, 0, 333,
0, 0, 0, 335, 0, 0, 336, 4753, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, -404,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 0, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 4754, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
0, 0, 0, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
0, 450, -404, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 0, 0, 460, 461, 0, 462, 463,
464, 4755, 465, 0, 0, 0, 467, 468, 469, 0,
470, 0, 471, 472, 0, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 0, 0, 0, 485, 0, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 0, 502, 503, 504,
505, 0, 0, 0, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 0, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 0, 0,
0, 0, 541, 0, 0, 542, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, -404, 0, 0, 0, 554, 555, 556,
0, 557, 0, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 0, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
0, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 0, 0, 204, 205, 206, 207, 208, 209,
0, -449, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 0, 0,
0, 0, 219, 4748, 0, 220, 221, 0, 222, 223,
0, 0, 0, 0, 226, 227, 228, 4749, 230, 231,
0, 232, 233, 0, 234, 235, 0, 237, 0, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 0, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
0, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 0, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 5064, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 0,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 4750, 294, 295, 296, 297, 298, 0, 0, 0,
0, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 0, 312, 0, 0, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 4751,
0, 320, 0, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 0, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 4752, 0, 0, 332,
0, 333, 0, 0, 0, 335, 0, 0, 336, 4753,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, -404, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 0, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
4754, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 0, 0, 0, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 0, 450, -404, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 0, 0, 460, 461, 0,
462, 463, 464, 4755, 465, 0, 0, 0, 467, 468,
469, 0, 470, 0, 471, 472, 0, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 0, 0, 0, 485,
0, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 0, 502,
503, 504, 505, 0, 0, 0, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 0,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
0, 0, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, -404, 0, 0, 0, 554,
555, 556, 0, 557, 0, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 0, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 0, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614, 194, 195, 0, 196,
197, 198, 199, 200, 0, 0, 201, 0, 0, 0,
0, 202, 0, 0, 0, 0, 204, 205, 206, 207,
208, 209, 0, -449, 0, 0, 0, 211, 0, 0,
0, 212, 0, 0, 213, 214, 215, 0, 216, 0,
0, 0, 0, 0, 219, 4748, 0, 220, 221, 0,
222, 223, 0, 0, 0, 0, 226, 227, 228, 4749,
230, 231, 0, 232, 233, 0, 234, 235, 0, 237,
0, 239, 240, 241, 242, 243, 244, 0, 245, 246,
0, 247, 248, 249, 0, 251, 0, 0, 0, 252,
0, 0, 0, 0, 253, 0, 0, 254, 0, 0,
0, 255, 256, 257, 0, 0, 258, 0, 0, 0,
0, 259, 0, 0, 0, 0, 0, 261, 262, 0,
263, 0, 0, 0, 0, 0, 264, 265, 266, 267,
268, 0, 0, 0, 0, 0, 0, 270, 271, 272,
0, 0, 0, 273, 0, 5108, 275, 0, 276, 277,
278, 0, 0, 279, 280, 0, 281, 282, 283, 284,
285, 0, 0, 0, 287, 288, 289, 290, 291, 0,
0, 292, 293, 4750, 294, 295, 296, 297, 298, 0,
0, 0, 0, 0, 0, 0, 301, 302, 0, 303,
0, 0, 0, 304, 0, 305, 306, 307, 308, 0,
309, 0, 310, 0, 0, 0, 0, 312, 0, 0,
0, 0, 314, 315, 0, 0, 0, 316, 317, 318,
319, 4751, 0, 320, 0, 322, 0, 0, 323, 0,
0, 0, 0, 324, 325, 0, 0, 0, 0, 327,
0, 0, 0, 328, 329, 0, 330, 331, 4752, 0,
0, 332, 0, 333, 0, 0, 0, 335, 0, 0,
336, 4753, 0, 337, 338, 0, 0, 0, 0, 0,
339, 340, 0, 341, 0, 342, 0, 343, 344, 0,
0, 0, 0, -404, 0, 0, 345, 0, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 0, 371, 372, 0, 0,
0, 0, 373, 374, 375, 376, 377, 378, 0, 0,
379, 380, 0, 381, 0, 382, 0, 383, 384, 385,
386, 387, 388, 389, 390, 391, 0, 0, 392, 393,
0, 0, 394, 395, 396, 397, 398, 0, 0, 0,
0, 400, 0, 0, 0, 401, 0, 402, 403, 0,
404, 405, 4754, 0, 0, 407, 0, 0, 0, 0,
0, 0, 0, 0, 0, 408, 409, 410, 0, 411,
0, 412, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 0, 0, 0, 0, 425, 426, 0,
427, 0, 428, 429, 430, 431, 432, 0, 433, 434,
435, 0, 0, 436, 0, 0, 0, 437, 438, 0,
439, 440, 0, 0, 441, 442, 443, 444, 445, 0,
446, 447, 0, 448, 0, 450, -404, 0, 451, 452,
453, 454, 455, 456, 457, 458, 0, 0, 0, 460,
461, 0, 462, 463, 464, 4755, 465, 0, 0, 0,
467, 468, 469, 0, 470, 0, 471, 472, 0, 474,
475, 0, 476, 477, 0, 0, 0, 478, 479, 480,
481, 0, 0, 0, 482, 0, 0, 0, 0, 0,
0, 485, 0, 487, 0, 488, 489, 490, 491, 492,
0, 0, 0, 0, 0, 493, 494, 495, 0, 496,
0, 0, 497, 0, 0, 498, 0, 499, 0, 500,
0, 502, 503, 504, 505, 0, 0, 0, 507, 0,
0, 508, 509, 510, 511, 512, 513, 0, 0, 514,
515, 516, 517, 0, 518, 519, 0, 0, 520, 521,
522, 523, 0, 0, 524, 525, 0, 526, 527, 528,
529, 0, 0, 0, 0, 0, 530, 531, 0, 0,
0, 0, 533, 534, 0, 0, 535, 536, 0, 537,
538, 0, 0, 0, 0, 0, 541, 0, 0, 542,
0, 543, 0, 544, 545, 0, 0, 0, 0, 0,
546, 0, 547, 0, 0, 548, 0, 0, 0, 549,
0, 550, 551, 552, 553, 0, 0, -404, 0, 0,
0, 554, 555, 556, 0, 557, 0, 559, 560, 0,
0, 561, 0, 0, 562, 563, 564, 565, 566, 0,
567, 0, 0, 0, 0, 0, 0, 0, 0, 568,
569, 570, 0, 571, 572, 573, 0, 0, 0, 0,
575, 0, 576, 0, 0, 0, 0, 0, 0, 577,
578, 0, 0, 579, 0, 580, 0, 581, 582, 0,
0, 0, 583, 584, 585, 586, 587, 588, 589, 590,
0, 591, 592, 593, 0, 595, 596, 597, 598, 599,
600, 0, 0, 0, 601, 602, 603, 604, 605, 606,
607, 608, 609, 610, 611, 612, 613, 614, 194, 195,
0, 196, 197, 198, 199, 200, 0, 0, 201, 0,
0, 0, 0, 202, 0, 0, 0, 0, 204, 205,
206, 207, 208, 209, 0, -449, 0, 0, 0, 211,
0, 0, 0, 212, 0, 0, 213, 214, 215, 0,
216, 0, 0, 0, 0, 0, 219, 4748, 0, 220,
221, 0, 222, 223, 0, 0, 0, 0, 226, 227,
228, 4749, 230, 231, 0, 232, 233, 0, 234, 235,
0, 237, 0, 239, 240, 241, 242, 243, 244, 0,
245, 246, 0, 247, 248, 249, 0, 251, 0, 0,
0, 252, 0, 0, 0, 0, 253, 0, 0, 254,
0, 0, 0, 255, 256, 257, 0, 0, 258, 0,
0, 0, 0, 259, 0, 0, 0, 0, 0, 261,
262, 0, 263, 0, 0, 0, 0, 0, 264, 265,
266, 267, 268, 0, 0, 0, 0, 0, 0, 270,
271, 272, 0, 0, 0, 273, 0, -423, 275, 0,
276, 277, 278, 0, 0, 279, 280, 0, 281, 282,
283, 284, 285, 0, 0, 0, 287, 288, 289, 290,
291, 0, 0, 292, 293, 4750, 294, 295, 296, 297,
298, 0, 0, 0, 0, 0, 0, 0, 301, 302,
0, 303, 0, 0, 0, 304, 0, 305, 306, 307,
308, 0, 309, 0, 310, 0, 0, 0, 0, 312,
0, 0, 0, 0, 314, 315, 0, 0, 0, 316,
317, 318, 319, 4751, 0, 320, 0, 322, 0, 0,
323, 0, 0, 0, 0, 324, 325, 0, 0, 0,
0, 327, 0, 0, 0, 328, 329, 0, 330, 331,
4752, 0, 0, 332, 0, 333, 0, 0, 0, 335,
0, 0, 336, 4753, 0, 337, 338, 0, 0, 0,
0, 0, 339, 340, 0, 341, 0, 342, 0, 343,
344, 0, 0, 0, 0, -404, 0, 0, 345, 0,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 0, 371, 372,
0, 0, 0, 0, 373, 374, 375, 376, 377, 378,
0, 0, 379, 380, 0, 381, 0, 382, 0, 383,
384, 385, 386, 387, 388, 389, 390, 391, 0, 0,
392, 393, 0, 0, 394, 395, 396, 397, 398, 0,
0, 0, 0, 400, 0, 0, 0, 401, 0, 402,
403, 0, 404, 405, 4754, 0, 0, 407, 0, 0,
0, 0, 0, 0, 0, 0, 0, 408, 409, 410,
0, 411, 0, 412, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 0, 0, 0, 0, 425,
426, 0, 427, 0, 428, 429, 430, 431, 432, 0,
433, 434, 435, 0, 0, 436, 0, 0, 0, 437,
438, 0, 439, 440, 0, 0, 441, 442, 443, 444,
445, 0, 446, 447, 0, 448, 0, 450, -404, 0,
451, 452, 453, 454, 455, 456, 457, 458, 0, 0,
0, 460, 461, 0, 462, 463, 464, 4755, 465, 0,
0, 0, 467, 468, 469, 0, 470, 0, 471, 472,
0, 474, 475, 0, 476, 477, 0, 0, 0, 478,
479, 480, 481, 0, 0, 0, 482, 0, 0, 0,
0, 0, 0, 485, 0, 487, 0, 488, 489, 490,
491, 492, 0, 0, 0, 0, 0, 493, 494, 495,
0, 496, 0, 0, 497, 0, 0, 498, 0, 499,
0, 500, 0, 502, 503, 504, 505, 0, 0, 0,
507, 0, 0, 508, 509, 510, 511, 512, 513, 0,
0, 514, 515, 516, 517, 0, 518, 519, 0, 0,
520, 521, 522, 523, 0, 0, 524, 525, 0, 526,
527, 528, 529, 0, 0, 0, 0, 0, 530, 531,
0, 0, 0, 0, 533, 534, 0, 0, 535, 536,
0, 537, 538, 0, 0, 0, 0, 0, 541, 0,
0, 542, 0, 543, 0, 544, 545, 0, 0, 0,
0, 0, 546, 0, 547, 0, 0, 548, 0, 0,
0, 549, 0, 550, 551, 552, 553, 0, 0, -404,
0, 0, 0, 554, 555, 556, 0, 557, 0, 559,
560, 0, 0, 561, 0, 0, 562, 563, 564, 565,
566, 0, 567, 0, 0, 0, 0, 0, 0, 0,
0, 568, 569, 570, 0, 571, 572, 573, 0, 0,
0, 0, 575, 0, 576, 0, 0, 0, 0, 0,
0, 577, 578, 0, 0, 579, 0, 580, 0, 581,
582, 0, 0, 0, 583, 584, 585, 586, 587, 588,
589, 590, 0, 591, 592, 593, 0, 595, 596, 597,
598, 599, 600, 0, 0, 0, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
194, 195, 0, 196, 197, 198, 199, 200, 0, 0,
201, 0, 0, 0, 0, 202, 0, 0, 0, 0,
204, 205, 206, 207, 208, 209, 0, -449, 0, 0,
0, 211, 0, 0, 0, 212, 0, 0, 213, 214,
215, 0, 216, 0, 0, 0, 0, 0, 219, 4748,
0, 220, 221, 0, 222, 223, 0, 0, 0, 0,
226, 227, 228, 4749, 230, 231, 0, 232, 233, 0,
234, 235, 0, 237, 0, 239, 240, 241, 242, 243,
244, 0, 245, 246, 0, 247, 248, 249, 0, 251,
0, 0, 0, 252, 0, 0, 0, 0, 253, 0,
0, 254, 0, 0, 0, 255, 256, 257, 0, 0,
258, 0, 0, 0, 0, 259, 0, 0, 0, 0,
0, 261, 262, 0, 263, 0, 0, 0, 0, 0,
264, 265, 266, 267, 268, 0, 0, 0, 0, 0,
0, 270, 271, 272, 0, 0, 0, 273, 0, 0,
275, 0, 276, 277, 278, 0, 0, 279, 280, 0,
281, 282, 283, 284, 285, 0, 0, 0, 287, 288,
289, 290, 291, 0, 0, 292, 293, 4750, 294, 295,
296, 297, 298, 0, 0, 0, 0, 0, 0, 0,
301, 302, 0, 303, 0, 0, 0, 304, 0, 305,
306, 307, 308, 0, 309, 0, 310, 0, 0, 0,
0, 312, 0, 0, 0, 0, 314, 315, 0, 0,
0, 316, 317, 318, 319, 4751, 0, 320, 0, 322,
0, 0, 323, 0, 0, 0, 0, 324, 325, 0,
0, 0, 0, 327, 0, 0, 0, 328, 329, 0,
330, 331, 4752, 0, 0, 332, 0, 333, 0, 0,
0, 335, 0, 0, 336, 4753, 0, 337, 338, 0,
0, 0, 0, 0, 339, 340, 0, 341, 0, 342,
0, 343, 344, 0, 0, 0, 0, -404, 0, 0,
345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 0,
371, 372, 0, 0, 0, 0, 373, 374, 375, 376,
377, 378, 0, 0, 379, 380, 0, 381, 0, 382,
0, 383, 384, 385, 386, 387, 388, 389, 390, 391,
0, 0, 392, 393, 0, 0, 394, 395, 396, 397,
398, 0, 0, 0, 0, 400, 0, 0, 0, 401,
0, 402, 403, 0, 404, 405, 4754, 0, 0, 407,
0, 0, 0, 0, 0, 0, 0, 0, 0, 408,
409, 410, 0, 411, 0, 412, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 0, 0, 0,
0, 425, 426, 0, 427, 0, 428, 429, 430, 431,
432, 0, 433, 434, 435, 0, 0, 436, 0, 0,
0, 437, 438, 0, 439, 440, 0, 0, 441, 442,
443, 444, 445, 0, 446, 447, 0, 448, 0, 450,
-404, 0, 451, 452, 453, 454, 455, 456, 457, 458,
0, 0, 0, 460, 461, 0, 462, 463, 464, 4755,
465, 0, 0, 0, 467, 468, 469, 0, 470, 0,
471, 472, 0, 474, 475, 0, 476, 477, 0, 0,
0, 478, 479, 480, 481, 0, 0, 0, 482, 0,
0, 0, 0, 0, 0, 485, 0, 487, 0, 488,
489, 490, 491, 492, 0, 0, 0, 0, 0, 493,
494, 495, 0, 496, 0, 0, 497, 0, 0, 498,
0, 499, 0, 500, 0, 502, 503, 504, 505, 0,
0, 0, 507, 0, 0, 508, 509, 510, 511, 512,
513, 0, 0, 514, 515, 516, 517, 0, 518, 519,
0, 0, 520, 521, 522, 523, 0, 0, 524, 525,
0, 526, 527, 528, 529, 0, 0, 0, 0, 0,
530, 531, 0, 0, 0, 0, 533, 534, 0, 0,
535, 536, 0, 537, 538, 0, 0, 0, 0, 0,
541, 0, 0, 542, 0, 543, 0, 544, 545, 0,
0, 0, 0, 0, 546, 0, 547, 0, 0, 548,
0, 0, 0, 549, 0, 550, 551, 552, 553, 0,
0, -404, 0, 0, 0, 554, 555, 556, 0, 557,
0, 559, 560, 0, 0, 561, 0, 0, 562, 563,
564, 565, 566, 0, 567, 0, 0, 0, 0, 0,
0, 0, 0, 568, 569, 570, 0, 571, 572, 573,
0, 0, 0, 0, 575, 0, 576, 0, 0, 0,
0, 0, 0, 577, 578, 0, 0, 579, 0, 580,
0, 581, 582, 0, 0, 0, 583, 584, 585, 586,
587, 588, 589, 590, 0, 591, 592, 593, 0, 595,
596, 597, 598, 599, 600, 0, 0, 0, 601, 602,
603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
613, 614, 194, 195, 0, 196, 197, 198, 199, 200,
0, 0, 201, 0, 0, 0, 0, 202, 0, 0,
0, 0, 204, 205, 206, 207, 208, 209, 0, -449,
0, 0, 0, 211, 0, 0, 0, 212, 0, 0,
213, 214, 215, 0, 216, 0, 0, 0, 0, 0,
219, 4748, 0, 220, 221, 0, 222, 223, 0, 0,
0, 0, 226, 227, 228, 4749, 230, 231, 0, 232,
233, 0, 234, 235, 0, 237, 0, 239, 240, 241,
242, 243, 244, 0, 245, 246, 0, 247, 248, 249,
0, 251, 0, 0, 0, 252, 0, 0, 0, 0,
253, 0, 0, 254, 0, 0, 0, 255, 256, 257,
0, 0, 258, 0, 0, 0, 0, 259, 0, 0,
0, 0, 0, 261, 262, 0, 263, 0, 0, 0,
0, 0, 264, 265, 266, 267, 268, 0, 0, 0,
0, 0, 0, 270, 271, 272, 0, 0, 0, 273,
0, 0, 275, 0, 276, 277, 278, 0, 0, 279,
280, 0, 281, 282, 283, 284, 285, 0, 0, 0,
287, 288, 289, 290, 291, 0, 0, 292, 293, 4750,
294, 295, 296, 297, 298, 0, 0, 0, 0, 0,
0, 0, 301, 302, 0, 303, 0, 0, 0, 304,
0, 305, 306, 307, 308, 0, 309, 0, 310, 0,
0, 0, 0, 312, 0, 0, 0, 0, 314, 315,
0, 0, 0, 316, 317, 318, 319, 4751, 0, 320,
0, 322, 0, 0, 323, 0, 0, 0, 0, 324,
325, 0, 0, 0, 0, 327, 0, 0, 0, 328,
329, 0, 330, 331, 4752, 0, 0, 332, 0, 333,
0, 0, 0, 335, 0, 0, 336, 4753, 0, 337,
338, 0, 0, 0, 0, 0, 339, 340, 0, 341,
0, 342, 0, 343, 344, 0, 0, 0, 0, -404,
0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 0, 371, 372, 0, 0, 0, 0, 373, 374,
375, 376, 377, 378, 0, 0, 379, 380, 0, 381,
0, 382, 0, 383, 384, 385, 386, 387, 388, 389,
390, 391, 0, 0, 392, 393, 0, 0, 394, 395,
396, 397, 398, 0, 0, 0, 0, 400, 0, 0,
0, 401, 0, 402, 403, 0, 404, 405, 4754, 0,
0, 407, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 409, 410, 0, 411, 0, 412, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 0,
0, 0, 0, 425, 426, 0, 427, 0, 428, 429,
430, 431, 432, 0, 433, 434, 435, 0, 0, 436,
0, 0, 0, 437, 438, 0, 439, 440, 0, 0,
441, 442, 443, 444, 445, 0, 446, 447, 0, 448,
0, 450, -404, 0, 451, 452, 453, 454, 455, 456,
457, 458, 0, 0, 0, 460, 461, 0, 462, 463,
464, 4755, 465, 0, 0, 0, 467, 468, 469, 0,
470, 0, 471, 472, 0, 474, 475, 0, 476, 477,
0, 0, 0, 478, 479, 480, 481, 0, 0, 0,
482, 0, 0, 0, 0, 0, 0, 485, 0, 487,
0, 488, 489, 490, 491, 492, 0, 0, 0, 0,
0, 493, 494, 495, 0, 496, 0, 0, 497, 0,
0, 498, 0, 499, 0, 500, 0, 502, 503, 504,
505, 0, 0, 0, 507, 0, 0, 508, 509, 510,
511, 512, 513, 0, 0, 514, 515, 516, 517, 0,
518, 519, 0, 0, 520, 521, 522, 523, 0, 0,
524, 525, 0, 526, 527, 528, 529, 0, 0, 0,
0, 0, 530, 531, 0, 0, 0, 0, 533, 534,
0, 0, 535, 536, 0, 537, 538, 0, 0, 0,
0, 0, 541, 0, 0, 5006, 0, 543, 0, 544,
545, 0, 0, 0, 0, 0, 546, 0, 547, 0,
0, 548, 0, 0, 0, 549, 0, 550, 551, 552,
553, 0, 0, -404, 0, 0, 0, 554, 555, 556,
0, 557, 0, 559, 560, 0, 0, 561, 0, 0,
562, 563, 564, 565, 566, 0, 567, 0, 0, 0,
0, 0, 0, 0, 0, 568, 569, 570, 0, 571,
572, 573, 0, 0, 0, 0, 575, 0, 576, 0,
0, 0, 0, 0, 0, 577, 578, 0, 0, 579,
0, 580, 0, 581, 582, 0, 0, 0, 583, 584,
585, 586, 587, 588, 589, 590, 0, 591, 592, 593,
0, 595, 596, 597, 598, 599, 600, 0, 0, 0,
601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
611, 612, 613, 614, 194, 195, 0, 196, 197, 198,
199, 200, 0, 0, 201, 0, 0, 0, 0, 202,
0, 0, 0, 0, 204, 205, 206, 207, 208, 209,
0, 0, 0, 0, 0, 211, 0, 0, 0, 212,
0, 0, 213, 214, 215, 0, 216, 0, 0, 0,
0, 0, 219, 0, 0, 220, 221, 0, 222, 223,
0, 0, 0, 0, 226, 227, 228, 229, 230, 231,
0, 232, 233, 0, 234, 235, 0, 237, 0, 239,
240, 241, 242, 243, 244, 0, 245, 246, 0, 247,
248, 249, 0, 251, 0, 0, 0, 252, 0, 0,
0, 0, 253, 0, 0, 254, 0, 0, 0, 255,
256, 257, 0, 0, 258, 0, 0, 0, 0, 259,
0, 0, 0, 0, 0, 261, 262, 0, 263, 0,
0, 0, 0, 0, 264, 265, 266, 267, 268, 0,
0, 0, 0, 0, 0, 270, 271, 272, 0, 0,
0, 273, 0, 0, 275, 0, 276, 277, 278, 0,
0, 279, 280, 0, 281, 282, 283, 284, 285, 0,
0, 0, 287, 288, 289, 290, 291, 0, 0, 292,
293, 0, 294, 295, 296, 297, 298, 0, 0, 0,
0, 0, 0, 0, 301, 302, 0, 303, 0, 0,
0, 304, 0, 305, 306, 307, 308, 0, 309, 0,
310, 0, 0, 0, 0, 312, 0, 0, 0, 0,
314, 315, 0, 0, 0, 316, 317, 318, 319, 0,
0, 320, 0, 322, 0, 0, 323, 0, 0, 0,
0, 324, 325, 0, 0, 0, 0, 327, 0, 0,
0, 328, 329, 0, 330, 331, 0, 0, 0, 332,
0, 333, 0, 0, 0, 335, 0, 0, 336, 0,
0, 337, 338, 0, 0, 0, 0, 0, 339, 340,
0, 341, 0, 342, 0, 343, 344, 0, 0, 0,
0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 0, 371, 372, 0, 0, 0, 0,
373, 374, 375, 376, 377, 378, 0, 0, 379, 380,
0, 381, 0, 382, 0, 383, 384, 385, 386, 387,
388, 389, 390, 391, 0, 0, 392, 393, 0, 0,
394, 395, 396, 397, 398, 0, 0, 0, 0, 400,
0, 0, 0, 401, 0, 402, 403, 0, 404, 405,
406, 0, 0, 407, 0, 0, 0, 0, 0, 0,
0, 0, 0, 408, 409, 410, 0, 411, 0, 412,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 0, 0, 0, 0, 425, 426, 0, 427, 0,
428, 429, 430, 431, 432, 0, 433, 434, 435, 0,
0, 436, 0, 0, 0, 437, 438, 0, 439, 440,
0, 0, 441, 442, 443, 444, 445, 0, 446, 447,
0, 448, 0, 450, 0, 0, 451, 452, 453, 454,
455, 456, 457, 458, 0, 0, 0, 460, 461, 0,
462, 463, 464, 0, 465, 0, 0, 0, 467, 468,
469, 0, 470, 0, 471, 472, 0, 474, 475, 0,
476, 477, 0, 0, 0, 478, 479, 480, 481, 0,
0, 0, 482, 0, 0, 0, 0, 0, 0, 485,
0, 487, 0, 488, 489, 490, 491, 492, 0, 0,
0, 0, 0, 493, 494, 495, 0, 496, 0, 0,
497, 0, 0, 498, 0, 499, 0, 500, 0, 502,
503, 504, 505, 0, 0, 0, 507, 0, 0, 508,
509, 510, 511, 512, 513, 0, 0, 514, 515, 516,
517, 0, 518, 519, 0, 0, 520, 521, 522, 523,
0, 0, 524, 525, 0, 526, 527, 528, 529, 0,
0, 0, 0, 0, 530, 531, 0, 0, 0, 0,
533, 534, 0, 0, 535, 536, 0, 537, 538, 0,
0, 0, 0, 0, 541, 0, 0, 542, 0, 543,
0, 544, 545, 0, 0, 0, 0, 0, 546, 0,
547, 0, 0, 548, 0, 0, 0, 549, 0, 550,
551, 552, 553, 0, 0, 0, 0, 0, 0, 554,
555, 556, 0, 557, 0, 559, 560, 0, 0, 561,
0, 0, 562, 563, 564, 565, 566, 0, 567, 0,
0, 0, 0, 0, 0, 0, 0, 568, 569, 570,
0, 571, 572, 573, 0, 0, 0, 0, 575, 0,
576, 0, 0, 0, 0, 0, 0, 577, 578, 0,
0, 579, 0, 580, 0, 581, 582, 0, 0, 0,
583, 584, 585, 586, 587, 588, 589, 590, 0, 591,
592, 593, 0, 595, 596, 597, 598, 599, 600, 0,
0, 0, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 612, 613, 614
};
static const yytype_int16 yycheck[] =
{
6, 0, 43, 1005, 0, 995, 1365, 0, 1365, 791,
1043, 1054, 18, 770, 771, 1006, 22, 999, 997, 1452,
94, 21, 1116, 1785, 58, 31, 1315, 112, 1528, 112,
1921, 55, 38, 790, 859, 41, 1069, 1750, 1583, 39,
46, 1702, 1085, 43, 1828, 6, 52, 53, 1548, 1288,
1289, 2191, 1080, 2171, 2172, 1020, 1080, 1775, 1020, 2726,
2507, 2369, 61, 2483, 1750, 61, 1566, 1161, 1308, 58,
2551, 1614, 2248, 1841, 2372, 57, 2954, 820, 1317, 43,
2637, 2135, 1214, 2818, 2641, 1528, 2728, 1722, 94, 1502,
1329, 1330, 1331, 1502, 1502, 1334, 3371, 1864, 2189, 2372,
3420, 3514, 1530, 2217, 2372, 1237, 1534, 2452, 2982, 2561,
1828, 1162, 2515, 2210, 2211, 2423, 115, 2537, 1000, 19,
1548, 1823, 2372, 986, 2230, 1168, 628, 629, 21, 3056,
30, 21, 1560, 3056, 1373, 35, 142, 2380, 3487, 3488,
3183, 4131, 3491, 642, 643, 1904, 39, 115, 4099, 39,
21, 4141, 2192, 43, 3606, 2261, 2262, 3514, 177, 3004,
3509, 22, 948, 1922, 1513, 171, 35, 173, 22, 1928,
176, 177, 178, 179, 21, 1934, 3533, 3534, 18, 19,
788, 68, 52, 926, 927, 928, 11, 193, 2524, 2077,
2078, 2184, 125, 936, 2220, 71, 9, 2085, 2086, 2087,
73, 2509, 59, 71, 18, 19, 156, 21, 3212, 18,
19, 4065, 173, 2722, 144, 176, 29, 18, 19, 125,
73, 34, 654, 655, 656, 18, 19, 659, 660, 18,
19, 663, 48, 665, 666, 667, 71, 1216, 18, 19,
18, 19, 125, 109, 48, 21, 18, 19, 18, 19,
156, 156, 19, 111, 2811, 197, 235, 1236, 103, 194,
21, 4039, 77, 158, 62, 2950, 2157, 18, 19, 1058,
1059, 160, 176, 150, 21, 37, 21, 131, 194, 125,
230, 142, 162, 31, 125, 156, 23, 130, 2769, 52,
78, 3419, 144, 246, 39, 2628, 2629, 2630, 35, 18,
19, 1650, 2754, 67, 18, 19, 18, 19, 740, 194,
156, 2644, 49, 18, 19, 156, 176, 373, 179, 176,
649, 150, 231, 180, 61, 62, 81, 373, 3718, 373,
5, 388, 193, 378, 372, 4278, 2669, 194, 377, 259,
2673, 158, 293, 87, 402, 21, 243, 35, 249, 327,
18, 19, 18, 19, 22, 204, 2689, 2690, 57, 801,
3986, 209, 2695, 238, 100, 275, 186, 212, 3035, 2926,
1156, 18, 19, 3218, 4791, 12, 189, 235, 2711, 2712,
3700, 23, 3283, 156, 176, 197, 197, 2720, 37, 456,
255, 407, 130, 35, 501, 85, 271, 572, 74, 572,
139, 316, 156, 374, 197, 388, 572, 49, 197, 156,
246, 22, 407, 285, 23, 282, 654, 239, 197, 61,
62, 2561, 639, 18, 19, 156, 2983, 249, 156, 21,
127, 369, 2435, 2524, 282, 246, 3785, 1194, 4512, 3205,
3206, 127, 612, 18, 19, 125, 266, 262, 1205, 3215,
3216, 19, 61, 62, 2345, 231, 197, 219, 18, 19,
401, 73, 186, 131, 2355, 150, 43, 422, 148, 2921,
1281, 1282, 1283, 137, 331, 73, 216, 401, 681, 1304,
194, 1292, 433, 3980, 160, 227, 748, 229, 152, 692,
752, 18, 19, 1318, 2548, 2549, 156, 65, 4572, 1478,
156, 1480, 238, 276, 371, 18, 19, 187, 249, 450,
448, 70, 1323, 389, 485, 1326, 754, 4371, 4015, 626,
131, 389, 258, 263, 369, 429, 1028, 156, 156, 276,
18, 19, 293, 1344, 1345, 271, 753, 1348, 73, 709,
18, 19, 266, 21, 70, 276, 433, 387, 65, 369,
390, 248, 2443, 23, 389, 1366, 1367, 65, 1057, 235,
1371, 1372, 248, 2861, 163, 35, 378, 733, 433, 429,
219, 393, 429, 387, 3475, 748, 390, 752, 387, 49,
1462, 390, 1084, 103, 363, 3998, 387, 263, 3879, 390,
1472, 61, 62, 332, 387, 5012, 511, 390, 387, 1481,
470, 390, 477, 293, 3505, 3506, 3955, 387, 3883, 387,
390, 203, 390, 502, 2754, 387, 3965, 636, 390, 355,
603, 2512, 628, 629, 3973, 186, 1412, 1413, 316, 4580,
636, 586, 638, 2149, 1136, 2151, 387, 429, 1381, 390,
564, 388, 2244, 659, 1146, 3092, 493, 653, 285, 501,
498, 657, 547, 2255, 401, 1087, 662, 4006, 367, 733,
192, 728, 511, 198, 659, 1698, 563, 1410, 387, 566,
369, 390, 433, 387, 112, 387, 390, 115, 390, 609,
456, 1123, 387, 2285, 428, 390, 724, 1715, 256, 219,
748, 1715, 643, 712, 740, 2479, 753, 753, 4324, 231,
4643, 1725, 3702, 4557, 4558, 749, 712, 470, 753, 613,
160, 2313, 718, 3355, 753, 3357, 3163, 493, 2218, 387,
2220, 387, 390, 160, 390, 635, 732, 733, 4679, 404,
547, 1060, 652, 488, 606, 1974, 18, 19, 717, 256,
387, 477, 2833, 390, 194, 3749, 3750, 511, 256, 3057,
791, 770, 637, 613, 4144, 761, 2540, 634, 3056, 778,
779, 2479, 628, 77, 770, 1897, 609, 628, 629, 1901,
748, 174, 778, 779, 1906, 775, 2538, 2016, 2892, 2192,
2894, 2921, 3467, 2192, 2192, 694, 3914, 2963, 788, 647,
637, 2426, 387, 799, 800, 390, 4574, 18, 19, 805,
753, 751, 2515, 1935, 1936, 634, 1849, 595, 648, 843,
572, 753, 387, 549, 615, 390, 583, 1606, 753, 699,
753, 637, 2540, 753, 788, 623, 651, 387, 2821, 2515,
390, 18, 19, 637, 648, 583, 3345, 753, 2383, 648,
723, 656, 657, 2731, 3529, 751, 751, 648, 753, 4800,
2089, 696, 753, 859, 843, 648, 669, 365, 753, 648,
387, 637, 635, 390, 601, 754, 19, 754, 648, 3205,
648, 609, 2898, 749, 387, 748, 648, 390, 648, 748,
751, 749, 643, 753, 969, 775, 969, 3732, 635, 626,
1679, 18, 19, 753, 748, 748, 753, 648, 788, 387,
3381, 748, 390, 3384, 635, 751, 2265, 583, 2265, 387,
751, 930, 390, 749, 749, 1000, 729, 1000, 758, 18,
19, 4373, 735, 572, 930, 1750, 932, 749, 3261, 648,
929, 4785, 2935, 929, 648, 749, 648, 1011, 799, 753,
749, 753, 753, 648, 753, 2488, 3398, 158, 262, 634,
2363, 563, 753, 141, 2363, 2363, 749, 1948, 3291, 601,
3293, 753, 1705, 962, 753, 563, 962, 3733, 974, 749,
989, 970, 748, 753, 3307, 753, 3309, 749, 751, 1053,
648, 753, 648, 989, 543, 553, 18, 19, 141, 995,
803, 3324, 601, 2761, 3414, 1014, 3448, 751, 749, 753,
1006, 648, 970, 3179, 751, 1011, 1005, 1013, 1014, 1005,
1016, 748, 1005, 749, 3054, 1021, 536, 543, 1024, 1025,
751, 730, 1028, 751, 2373, 753, 3080, 535, 563, 1035,
775, 1105, 631, 276, 753, 749, 553, 749, 1044, 1045,
1046, 753, 572, 1049, 4401, 553, 1052, 1053, 753, 1055,
1056, 191, 502, 648, 1054, 231, 2489, 18, 19, 1078,
1066, 4352, 465, 3941, 1025, 502, 1072, 1073, 1074, 2831,
1076, 1077, 1078, 648, 111, 1081, 1082, 1083, 1084, 3814,
1086, 1838, 614, 749, 1090, 1085, 1160, 753, 648, 650,
2133, 751, 1878, 753, 1113, 751, 1102, 753, 456, 1105,
2616, 130, 4145, 1177, 77, 387, 753, 1113, 390, 3983,
1116, 5062, 1073, 433, 1120, 1121, 1077, 1117, 572, 64,
1081, 648, 751, 751, 753, 753, 47, 1870, 370, 1135,
1136, 601, 4132, 583, 3240, 648, 644, 179, 576, 1145,
1146, 579, 1148, 1149, 4071, 388, 583, 71, 4071, 1960,
1649, 5141, 622, 623, 1160, 1161, 378, 345, 753, 370,
648, 572, 1661, 1169, 1054, 1206, 387, 1028, 1168, 390,
648, 1177, 18, 19, 749, 160, 222, 4526, 753, 4528,
493, 2171, 2172, 204, 3636, 430, 1192, 1512, 465, 1514,
1515, 401, 345, 753, 1200, 1085, 1215, 503, 278, 473,
387, 2026, 258, 390, 1529, 71, 1206, 1532, 1533, 1215,
1535, 788, 241, 1538, 1539, 1540, 1541, 2028, 3461, 3462,
1545, 2032, 749, 1084, 1117, 1550, 753, 1117, 158, 1731,
1555, 1556, 1557, 1558, 1559, 501, 749, 482, 1563, 1564,
753, 165, 1206, 2054, 1569, 1570, 1571, 1572, 193, 1574,
1575, 1859, 1577, 292, 11, 1580, 1262, 1263, 3398, 1867,
387, 749, 194, 390, 9, 753, 44, 18, 19, 366,
367, 3718, 367, 413, 1135, 1136, 1089, 122, 1168, 572,
456, 3762, 3763, 200, 1145, 1146, 1718, 1148, 387, 262,
641, 390, 2155, 198, 748, 216, 18, 19, 1304, 2181,
2182, 704, 705, 609, 1389, 547, 1389, 237, 3448, 1054,
2912, 1335, 1318, 3765, 167, 1314, 1206, 637, 1314, 18,
19, 416, 3413, 637, 3727, 4682, 2759, 18, 19, 3383,
372, 2296, 2297, 3387, 2296, 2297, 547, 26, 3452, 3637,
1085, 3686, 656, 657, 2372, 235, 1420, 200, 2372, 2951,
380, 504, 505, 285, 564, 387, 71, 2959, 390, 1365,
603, 583, 2964, 1437, 3637, 276, 648, 4687, 2462, 3637,
728, 1395, 1117, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
1404, 1405, 1406, 1407, 1883, 18, 19, 3637, 630, 353,
1409, 3567, 3568, 18, 19, 84, 2424, 141, 2898, 3956,
2424, 3853, 482, 1409, 2904, 3886, 3887, 128, 2459, 1415,
167, 3892, 1431, 3894, 1420, 471, 455, 18, 19, 630,
52, 2660, 572, 1168, 2518, 1431, 387, 648, 465, 390,
3882, 1437, 3067, 4790, 1453, 748, 3198, 682, 380, 4714,
370, 186, 2987, 200, 3896, 290, 2152, 1453, 2687, 3901,
165, 3153, 4843, 2742, 2743, 3217, 749, 3225, 3226, 4333,
3121, 648, 1461, 2595, 3352, 389, 2517, 3102, 3356, 1488,
3237, 753, 1471, 418, 2606, 2607, 753, 388, 2610, 1485,
754, 369, 1488, 125, 122, 2985, 2986, 753, 18, 19,
511, 194, 3194, 3252, 3253, 400, 3636, 543, 2541, 2542,
2543, 3017, 2481, 420, 3020, 3021, 749, 2747, 3024, 3025,
3026, 3027, 3028, 3029, 3030, 3031, 4929, 502, 3034, 583,
3036, 648, 3038, 389, 3857, 2231, 25, 2233, 373, 18,
19, 753, 753, 18, 19, 4892, 2242, 3634, 3635, 33,
566, 387, 2985, 123, 390, 333, 1587, 589, 237, 648,
18, 19, 103, 2259, 742, 743, 744, 745, 2986, 18,
19, 18, 19, 605, 585, 486, 753, 420, 18, 19,
153, 122, 293, 276, 2280, 209, 4004, 355, 2284, 4007,
609, 164, 285, 18, 19, 738, 739, 740, 741, 742,
743, 744, 745, 4235, 3615, 13, 3096, 636, 748, 316,
3235, 345, 1608, 1609, 537, 510, 18, 19, 1590, 3630,
487, 18, 19, 643, 3382, 194, 648, 547, 1624, 592,
18, 19, 3165, 2602, 125, 3765, 753, 3925, 543, 1206,
5021, 5022, 3416, 53, 323, 4513, 387, 188, 571, 390,
4719, 3054, 615, 4722, 64, 3054, 3054, 535, 282, 566,
4317, 4318, 290, 1659, 753, 653, 1662, 1663, 1664, 604,
635, 162, 241, 420, 21, 387, 1672, 247, 390, 168,
1704, 566, 834, 2416, 389, 1681, 18, 19, 1684, 1703,
533, 370, 1706, 656, 657, 388, 3994, 648, 387, 753,
2515, 390, 603, 572, 245, 287, 387, 4144, 3416, 390,
630, 643, 1663, 1664, 1710, 243, 18, 19, 1714, 624,
18, 19, 197, 3853, 509, 1704, 138, 18, 19, 1793,
1794, 753, 140, 40, 5081, 1731, 18, 19, 4463, 243,
372, 493, 1751, 4290, 587, 373, 2726, 369, 235, 290,
457, 903, 3882, 1749, 1750, 1751, 4752, 4753, 1609, 594,
714, 715, 716, 26, 387, 249, 3896, 390, 350, 748,
1766, 3901, 387, 1624, 1770, 390, 263, 4248, 282, 4250,
1789, 4649, 1778, 4071, 212, 1781, 533, 3272, 753, 18,
19, 275, 570, 1789, 239, 493, 387, 1793, 1794, 390,
3285, 592, 753, 1827, 249, 18, 19, 3432, 1659, 156,
122, 2126, 648, 386, 18, 19, 228, 401, 596, 237,
2567, 84, 607, 975, 615, 1889, 1835, 1823, 635, 1825,
258, 1827, 373, 3180, 3183, 615, 3183, 125, 1902, 1835,
587, 4910, 1851, 2861, 3888, 18, 19, 2861, 470, 681,
125, 139, 128, 18, 19, 1851, 397, 77, 235, 1849,
692, 64, 1852, 1714, 733, 435, 651, 387, 547, 1859,
390, 74, 282, 93, 498, 4293, 188, 1867, 415, 501,
1731, 372, 4205, 190, 231, 637, 263, 456, 1884, 1885,
1886, 1887, 1888, 1889, 1890, 158, 18, 19, 1749, 249,
2215, 13, 1898, 0, 1900, 1859, 1902, 648, 387, 1905,
603, 390, 387, 1867, 401, 390, 3927, 753, 2719, 18,
19, 3932, 272, 1947, 493, 3936, 2241, 1778, 4365, 387,
1781, 3556, 390, 1884, 1885, 1886, 648, 1888, 387, 637,
387, 390, 2257, 390, 220, 572, 753, 387, 393, 1900,
390, 630, 370, 231, 1905, 4612, 18, 19, 442, 648,
388, 543, 387, 18, 19, 390, 594, 648, 1947, 1849,
245, 13, 1852, 753, 237, 2995, 2291, 2292, 290, 1859,
550, 2995, 4069, 4070, 2299, 387, 3471, 1867, 390, 3867,
387, 3869, 277, 390, 3619, 280, 748, 2730, 571, 387,
3774, 608, 390, 615, 18, 19, 740, 741, 742, 743,
744, 745, 753, 5009, 5010, 293, 86, 293, 156, 3504,
572, 2717, 4493, 3674, 3727, 648, 572, 3512, 140, 653,
2026, 2027, 235, 648, 3519, 105, 1887, 13, 3056, 1890,
13, 753, 3056, 4087, 332, 265, 216, 4704, 672, 3082,
748, 3727, 246, 594, 401, 387, 637, 648, 390, 3079,
323, 373, 2758, 2378, 753, 3079, 3774, 13, 637, 18,
19, 749, 753, 3420, 3158, 753, 637, 18, 19, 4090,
2776, 2777, 2778, 2779, 2093, 387, 361, 741, 390, 387,
18, 19, 390, 263, 138, 749, 387, 2093, 140, 390,
18, 19, 18, 19, 615, 387, 733, 370, 390, 456,
18, 19, 3196, 447, 1849, 18, 19, 1852, 2114, 3654,
160, 18, 19, 343, 3138, 18, 19, 2136, 648, 547,
753, 2162, 18, 19, 749, 9, 18, 19, 3912, 3913,
2136, 753, 754, 2133, 3918, 430, 493, 615, 681, 369,
19, 429, 18, 19, 548, 2164, 697, 31, 387, 692,
3244, 390, 753, 637, 140, 2189, 2197, 140, 2164, 648,
2866, 3704, 753, 648, 387, 2171, 2172, 390, 4588, 748,
3135, 733, 3134, 387, 228, 637, 390, 733, 2184, 449,
648, 3160, 753, 2189, 140, 3544, 2899, 3544, 4560, 648,
534, 648, 212, 4565, 3912, 3913, 2909, 4251, 648, 2240,
3918, 431, 630, 668, 387, 670, 2212, 390, 18, 19,
480, 2217, 387, 648, 120, 390, 137, 2223, 2224, 2225,
2226, 2227, 2228, 753, 160, 629, 2232, 1461, 2234, 564,
4897, 152, 753, 754, 2253, 433, 648, 1471, 2244, 21,
2246, 648, 2248, 2133, 2250, 2251, 197, 2253, 2254, 2255,
648, 18, 19, 741, 2260, 387, 454, 2263, 390, 2265,
749, 749, 141, 4439, 2270, 4441, 48, 2273, 2274, 753,
2289, 749, 594, 3986, 547, 753, 4728, 2283, 387, 2285,
637, 390, 1859, 2289, 4861, 753, 18, 19, 18, 19,
1867, 753, 18, 19, 753, 4186, 753, 2303, 496, 749,
3205, 4014, 2376, 533, 4676, 230, 648, 2313, 2314, 3214,
3016, 141, 3018, 3019, 749, 387, 3022, 3023, 390, 2219,
226, 212, 387, 2184, 748, 390, 3032, 3033, 681, 2229,
754, 3037, 18, 19, 3040, 2235, 648, 749, 35, 692,
648, 125, 749, 3700, 38, 21, 4130, 648, 141, 18,
19, 749, 46, 167, 138, 2429, 648, 630, 2364, 18,
19, 127, 2368, 387, 2264, 62, 390, 4675, 2268, 748,
2376, 2405, 48, 493, 754, 2275, 2276, 748, 2384, 2385,
3123, 2415, 3125, 754, 2383, 18, 19, 2411, 2133, 563,
2414, 748, 566, 2417, 751, 583, 753, 18, 19, 18,
19, 18, 19, 2635, 4439, 122, 4441, 749, 2407, 648,
2642, 2407, 4130, 2274, 2420, 2635, 2405, 2436, 4726, 4727,
4997, 185, 2642, 2429, 2385, 648, 2415, 19, 387, 335,
2436, 390, 3671, 339, 648, 230, 387, 749, 612, 390,
346, 749, 2303, 749, 228, 3945, 2452, 753, 749, 387,
749, 2457, 390, 4905, 753, 2461, 2462, 749, 235, 387,
563, 387, 390, 566, 390, 648, 345, 667, 668, 387,
670, 188, 390, 648, 387, 61, 62, 390, 749, 5056,
387, 5058, 753, 390, 387, 2491, 456, 390, 3777, 2523,
2524, 387, 2498, 2499, 390, 387, 623, 5074, 390, 626,
620, 621, 219, 2364, 300, 301, 4624, 2368, 2507, 2515,
749, 387, 2518, 212, 390, 345, 648, 637, 2524, 3808,
3809, 427, 564, 2848, 122, 2524, 749, 125, 2524, 2570,
212, 18, 19, 77, 2523, 749, 18, 19, 197, 648,
749, 2541, 2542, 2543, 753, 3834, 235, 4092, 566, 5126,
5127, 3257, 345, 718, 719, 18, 19, 234, 235, 4075,
4076, 4077, 4078, 18, 19, 4, 749, 12, 18, 19,
2570, 2577, 717, 290, 749, 160, 648, 387, 300, 301,
390, 3820, 21, 648, 261, 491, 212, 108, 4728, 4008,
188, 419, 4011, 4012, 61, 62, 4484, 18, 19, 122,
39, 186, 2608, 2609, 71, 637, 2570, 749, 640, 3637,
564, 753, 2618, 3637, 18, 19, 201, 749, 2637, 212,
387, 219, 2641, 390, 648, 504, 505, 135, 748, 214,
2491, 2637, 122, 481, 3728, 2641, 748, 2498, 2499, 122,
749, 2665, 125, 3775, 18, 19, 167, 654, 141, 445,
446, 2541, 2542, 2543, 385, 387, 373, 387, 390, 563,
390, 387, 378, 690, 390, 188, 693, 381, 4168, 4169,
481, 698, 2997, 197, 504, 505, 703, 749, 231, 200,
2570, 266, 267, 749, 749, 61, 62, 753, 246, 648,
749, 194, 290, 237, 753, 71, 219, 648, 188, 108,
197, 387, 749, 749, 390, 188, 753, 753, 84, 294,
648, 504, 505, 18, 19, 749, 2722, 33, 387, 753,
648, 390, 648, 445, 446, 749, 632, 2751, 387, 2753,
648, 390, 656, 657, 621, 648, 219, 3062, 3063, 3064,
3065, 648, 2748, 493, 650, 648, 246, 2608, 2609, 501,
4380, 501, 648, 564, 387, 4385, 648, 390, 569, 749,
749, 748, 749, 753, 753, 4905, 387, 290, 387, 390,
387, 390, 648, 390, 378, 373, 749, 80, 363, 82,
753, 749, 212, 4140, 753, 753, 4145, 103, 4145, 3768,
749, 749, 2811, 501, 3773, 753, 2541, 2542, 2543, 2833,
290, 612, 524, 525, 526, 2811, 122, 290, 320, 321,
754, 749, 221, 325, 326, 2821, 753, 628, 150, 151,
364, 749, 125, 749, 3815, 748, 370, 2833, 2834, 2835,
48, 749, 417, 749, 100, 749, 749, 753, 648, 753,
749, 96, 749, 654, 753, 148, 749, 749, 2278, 2279,
373, 753, 345, 749, 748, 21, 754, 749, 871, 738,
739, 740, 741, 742, 743, 744, 745, 3573, 4107, 2888,
620, 621, 188, 749, 748, 4505, 749, 594, 891, 4509,
753, 648, 2888, 373, 187, 749, 2892, 637, 2894, 753,
373, 904, 905, 748, 2900, 439, 748, 3925, 2904, 420,
387, 3925, 3727, 390, 748, 387, 2912, 2926, 390, 2915,
740, 741, 742, 743, 744, 745, 648, 749, 648, 748,
2926, 753, 648, 748, 387, 2931, 749, 390, 4690, 245,
753, 4561, 387, 3676, 100, 390, 4566, 387, 197, 749,
390, 13, 748, 160, 161, 2951, 739, 740, 741, 742,
743, 744, 745, 2959, 575, 64, 748, 2963, 2964, 748,
3717, 7, 648, 2982, 2983, 74, 387, 122, 748, 390,
3961, 749, 238, 2979, 290, 753, 2982, 2983, 748, 648,
26, 3972, 749, 387, 201, 394, 390, 749, 748, 648,
156, 753, 258, 2570, 748, 404, 594, 214, 748, 522,
749, 748, 411, 547, 753, 271, 748, 3013, 2296, 2297,
122, 504, 505, 387, 749, 648, 390, 749, 753, 749,
3105, 749, 3105, 749, 748, 753, 192, 648, 194, 648,
749, 648, 4126, 188, 753, 3041, 748, 254, 84, 3058,
32, 5099, 5100, 4071, 749, 566, 212, 4071, 753, 156,
267, 217, 3058, 12, 156, 599, 35, 373, 4152, 33,
1932, 1933, 3081, 749, 219, 231, 587, 748, 140, 4358,
749, 594, 238, 748, 753, 3081, 188, 294, 26, 749,
246, 397, 3082, 753, 193, 3091, 630, 79, 3094, 355,
3096, 612, 258, 3092, 1352, 1353, 748, 3096, 144, 100,
3096, 3175, 3101, 3102, 594, 271, 515, 628, 3107, 749,
276, 594, 378, 753, 748, 572, 749, 749, 2979, 285,
749, 753, 111, 21, 753, 3131, 235, 749, 3127, 77,
749, 3127, 749, 748, 748, 290, 84, 440, 12, 748,
811, 812, 359, 814, 751, 816, 748, 3153, 220, 108,
3856, 3157, 3158, 749, 263, 749, 48, 753, 3164, 753,
21, 648, 154, 752, 3163, 748, 648, 141, 127, 3175,
748, 3205, 3206, 3179, 3180, 748, 748, 3183, 290, 158,
3214, 3215, 3216, 162, 3183, 648, 748, 3183, 3194, 355,
3196, 237, 3082, 648, 748, 276, 748, 748, 648, 3205,
3206, 575, 100, 612, 612, 748, 748, 748, 3214, 3215,
3216, 477, 378, 749, 293, 749, 749, 753, 373, 753,
753, 749, 388, 202, 749, 753, 141, 648, 753, 177,
3091, 749, 748, 3094, 108, 753, 184, 238, 3244, 100,
199, 156, 748, 222, 648, 738, 739, 740, 741, 742,
743, 744, 745, 127, 160, 749, 749, 258, 156, 753,
749, 373, 749, 748, 753, 384, 754, 749, 4259, 4260,
271, 4262, 748, 493, 648, 249, 235, 323, 594, 748,
719, 501, 748, 549, 748, 397, 749, 4269, 4270, 237,
748, 3616, 3617, 749, 749, 156, 194, 753, 749, 749,
749, 275, 753, 3164, 753, 171, 749, 748, 287, 418,
753, 477, 533, 749, 212, 748, 21, 753, 519, 217,
748, 748, 27, 748, 370, 748, 200, 286, 749, 748,
4687, 748, 748, 194, 748, 501, 775, 3082, 748, 3345,
238, 37, 748, 748, 193, 749, 748, 748, 246, 615,
748, 212, 3376, 748, 355, 3361, 217, 748, 59, 64,
258, 748, 801, 3369, 748, 3371, 71, 748, 141, 243,
75, 345, 77, 271, 7, 323, 748, 238, 276, 3413,
748, 697, 748, 549, 89, 246, 748, 285, 4821, 141,
748, 748, 366, 367, 748, 748, 748, 258, 748, 122,
620, 621, 125, 748, 383, 451, 748, 3413, 108, 3415,
271, 748, 286, 748, 3420, 276, 364, 637, 748, 115,
125, 748, 370, 415, 285, 748, 122, 709, 753, 378,
345, 390, 754, 709, 615, 563, 516, 603, 753, 594,
419, 4420, 50, 282, 30, 437, 3452, 287, 614, 615,
583, 753, 753, 753, 3460, 527, 528, 355, 530, 531,
532, 487, 71, 26, 443, 188, 733, 167, 442, 635,
273, 637, 572, 753, 753, 176, 477, 549, 658, 180,
378, 752, 594, 179, 753, 166, 478, 748, 194, 468,
388, 754, 188, 194, 355, 543, 219, 37, 203, 563,
200, 547, 166, 543, 141, 287, 157, 4498, 753, 4500,
4501, 88, 753, 21, 77, 194, 753, 378, 559, 379,
646, 84, 71, 219, 4813, 3531, 13, 388, 748, 634,
504, 505, 698, 512, 749, 235, 4527, 749, 3544, 140,
499, 3547, 3548, 517, 10, 753, 420, 539, 549, 754,
749, 13, 749, 749, 749, 749, 749, 749, 263, 749,
519, 3567, 3568, 502, 543, 3571, 136, 290, 156, 729,
749, 48, 345, 729, 637, 115, 654, 160, 160, 477,
160, 43, 122, 749, 630, 751, 286, 753, 160, 504,
505, 160, 758, 345, 290, 158, 160, 3603, 160, 547,
3606, 753, 404, 501, 572, 564, 4895, 566, 753, 3615,
569, 249, 87, 125, 177, 1054, 477, 100, 369, 316,
21, 184, 4612, 7, 3630, 499, 3632, 179, 748, 110,
331, 583, 94, 158, 4624, 141, 98, 401, 39, 179,
501, 600, 43, 122, 3650, 604, 1085, 74, 188, 77,
373, 549, 3658, 612, 55, 56, 401, 141, 401, 583,
356, 366, 367, 4369, 136, 261, 261, 372, 401, 136,
401, 48, 368, 378, 237, 401, 372, 373, 1117, 219,
3686, 401, 630, 401, 1123, 401, 619, 619, 549, 501,
564, 753, 566, 753, 3700, 654, 710, 122, 1137, 3733,
125, 492, 628, 748, 748, 603, 749, 610, 345, 188,
5069, 753, 5069, 418, 4704, 415, 57, 615, 448, 3718,
420, 3727, 3728, 171, 378, 4507, 600, 3733, 429, 1168,
158, 504, 505, 7, 5093, 717, 5093, 635, 612, 637,
219, 111, 603, 249, 378, 614, 64, 7, 722, 708,
290, 4794, 504, 505, 615, 238, 74, 5116, 4791, 5116,
323, 592, 200, 188, 738, 739, 740, 741, 742, 743,
744, 745, 4478, 228, 635, 258, 637, 748, 275, 667,
753, 5140, 754, 5140, 192, 752, 287, 287, 271, 3650,
753, 253, 497, 287, 219, 287, 287, 287, 753, 499,
698, 364, 160, 378, 27, 583, 635, 370, 753, 237,
236, 290, 753, 753, 366, 367, 356, 583, 583, 519,
372, 13, 401, 738, 739, 740, 741, 742, 743, 744,
745, 753, 372, 373, 708, 160, 210, 698, 197, 345,
378, 64, 547, 141, 197, 583, 583, 194, 71, 456,
748, 749, 75, 751, 77, 753, 4638, 18, 19, 255,
758, 345, 433, 754, 564, 290, 89, 504, 505, 569,
332, 594, 355, 754, 754, 193, 572, 3883, 122, 754,
576, 754, 753, 579, 249, 742, 252, 587, 749, 561,
751, 181, 753, 589, 373, 378, 514, 758, 594, 604,
600, 597, 125, 194, 60, 753, 405, 4897, 194, 197,
3951, 749, 612, 749, 749, 749, 749, 235, 741, 749,
690, 3927, 749, 3929, 749, 753, 3932, 748, 628, 749,
3936, 749, 749, 749, 396, 749, 364, 3956, 753, 3945,
753, 4647, 370, 749, 188, 263, 753, 745, 373, 749,
3956, 249, 749, 749, 654, 116, 117, 118, 119, 120,
754, 754, 754, 749, 3983, 738, 739, 740, 741, 742,
743, 744, 745, 3979, 753, 219, 749, 3983, 402, 5012,
755, 404, 404, 227, 547, 229, 738, 739, 740, 741,
742, 743, 744, 745, 477, 160, 572, 749, 504, 505,
126, 706, 478, 753, 572, 572, 754, 503, 708, 263,
263, 439, 263, 4019, 4020, 403, 748, 598, 707, 249,
504, 505, 378, 5014, 673, 730, 673, 160, 160, 160,
160, 160, 572, 160, 4040, 160, 576, 589, 160, 579,
263, 160, 160, 160, 740, 741, 290, 345, 160, 589,
160, 160, 748, 605, 594, 160, 518, 597, 160, 4065,
160, 160, 223, 224, 225, 226, 549, 630, 458, 459,
460, 461, 462, 463, 464, 160, 160, 160, 160, 4040,
160, 160, 160, 401, 4090, 21, 160, 160, 160, 77,
160, 27, 28, 4092, 160, 160, 4102, 160, 560, 5132,
418, 738, 739, 740, 741, 742, 743, 744, 745, 160,
160, 709, 749, 642, 286, 594, 465, 654, 3979, 547,
4126, 378, 748, 111, 748, 748, 748, 63, 5161, 373,
572, 572, 615, 753, 4140, 4917, 5138, 572, 754, 4145,
4146, 77, 754, 366, 367, 4144, 4152, 83, 84, 372,
754, 87, 583, 655, 748, 378, 753, 64, 4019, 748,
385, 197, 583, 748, 212, 731, 753, 74, 733, 594,
158, 599, 4178, 728, 335, 111, 337, 338, 339, 197,
428, 433, 89, 615, 64, 346, 336, 77, 749, 125,
4515, 749, 154, 129, 74, 418, 753, 156, 749, 245,
740, 741, 630, 93, 245, 555, 504, 505, 748, 89,
754, 754, 12, 749, 749, 749, 749, 749, 748, 404,
156, 3275, 158, 3277, 35, 748, 387, 748, 456, 390,
35, 4237, 738, 739, 740, 741, 742, 743, 744, 745,
404, 4102, 160, 406, 134, 73, 342, 235, 533, 669,
533, 62, 653, 533, 738, 739, 740, 741, 742, 743,
744, 745, 533, 533, 378, 492, 427, 263, 748, 263,
748, 4290, 4278, 615, 497, 592, 4282, 367, 583, 753,
564, 583, 637, 564, 4290, 753, 193, 373, 749, 451,
378, 378, 199, 749, 753, 231, 748, 748, 748, 235,
212, 112, 748, 748, 115, 4630, 242, 473, 4633, 4634,
4635, 4636, 123, 193, 4333, 748, 285, 12, 748, 199,
160, 722, 231, 547, 547, 742, 262, 4333, 235, 490,
491, 142, 748, 385, 322, 753, 643, 282, 748, 275,
1779, 1780, 160, 197, 4418, 749, 753, 749, 258, 749,
594, 749, 340, 158, 749, 235, 263, 162, 258, 391,
761, 48, 5119, 103, 217, 4371, 4365, 4373, 4374, 373,
748, 414, 748, 748, 775, 265, 364, 62, 189, 247,
247, 604, 721, 263, 48, 749, 322, 788, 749, 749,
4715, 495, 749, 688, 4400, 4877, 748, 202, 48, 4724,
4725, 688, 753, 4409, 340, 753, 5112, 160, 4733, 749,
1849, 748, 4418, 1852, 748, 3469, 3470, 222, 4424, 820,
3474, 228, 103, 245, 825, 160, 5132, 278, 754, 753,
162, 111, 111, 4439, 748, 4441, 401, 748, 730, 748,
738, 739, 740, 741, 742, 743, 744, 745, 748, 260,
441, 748, 748, 343, 855, 5161, 3510, 125, 4940, 395,
125, 384, 3516, 3517, 3518, 401, 404, 3521, 404, 566,
749, 632, 740, 4955, 378, 583, 366, 367, 516, 369,
378, 748, 287, 706, 433, 583, 4968, 648, 649, 650,
210, 378, 269, 749, 401, 246, 754, 197, 753, 758,
258, 258, 258, 753, 698, 404, 749, 730, 373, 758,
749, 418, 758, 749, 637, 749, 749, 749, 401, 197,
456, 48, 277, 404, 4530, 926, 927, 928, 929, 48,
56, 48, 153, 48, 742, 936, 748, 35, 418, 35,
66, 431, 730, 354, 125, 5027, 357, 483, 56, 626,
76, 4557, 4558, 609, 263, 5037, 203, 493, 66, 547,
5042, 64, 263, 4424, 90, 91, 92, 35, 76, 373,
748, 373, 373, 416, 21, 378, 564, 77, 383, 378,
106, 754, 90, 91, 92, 516, 488, 175, 748, 285,
4614, 749, 4598, 385, 5076, 749, 5078, 210, 106, 21,
753, 147, 566, 749, 540, 541, 542, 258, 753, 258,
748, 547, 519, 748, 419, 749, 753, 342, 4624, 265,
428, 749, 5104, 48, 435, 749, 388, 120, 564, 749,
120, 567, 1033, 749, 749, 48, 749, 4643, 443, 519,
48, 48, 753, 533, 388, 620, 749, 4688, 621, 373,
368, 15, 753, 1054, 748, 21, 511, 81, 753, 143,
373, 1062, 753, 468, 5146, 5147, 228, 603, 404, 5151,
194, 385, 748, 116, 117, 118, 119, 120, 749, 263,
73, 4687, 194, 4689, 1085, 753, 21, 754, 342, 753,
4696, 4697, 173, 48, 2133, 749, 373, 604, 509, 748,
276, 637, 749, 319, 748, 637, 674, 512, 4714, 398,
2149, 48, 2151, 473, 2153, 2154, 1117, 2156, 149, 748,
637, 609, 749, 4729, 604, 749, 749, 748, 748, 748,
136, 753, 749, 4739, 749, 748, 748, 574, 543, 136,
136, 748, 158, 4749, 378, 538, 749, 753, 4754, 654,
484, 48, 48, 484, 679, 692, 535, 692, 563, 692,
4759, 566, 748, 4759, 555, 2204, 4759, 1168, 579, 2208,
155, 634, 32, 4663, 1175, 755, 64, 385, 64, 4785,
223, 224, 225, 226, 482, 19, 749, 703, 554, 725,
634, 32, 197, 385, 4794, 385, 607, 2236, 2237, 2238,
2239, 749, 4826, 143, 134, 1206, 702, 1208, 334, 228,
692, 484, 748, 689, 6, 751, 246, 465, 4837, 378,
378, 4840, 154, 751, 48, 351, 334, 171, 2267, 609,
130, 4837, 154, 292, 4840, 230, 634, 751, 54, 124,
755, 231, 703, 351, 143, 575, 154, 4853, 751, 575,
373, 748, 753, 215, 54, 194, 751, 501, 194, 154,
194, 4880, 4752, 4753, 378, 575, 455, 636, 125, 753,
162, 378, 378, 699, 4880, 196, 1277, 1278, 4759, 3142,
3051, 3045, 4373, 3049, 4890, 1286, 1287, 1288, 1289, 1290,
1291, 3047, 335, 4376, 337, 338, 339, 4369, 1299, 1300,
3628, 1302, 1303, 346, 4794, 3042, 1307, 1308, 4384, 3445,
1311, 1312, 1313, 1314, 4398, 1316, 1317, 1059, 4663, 4677,
4963, 4400, 4964, 1324, 1325, 4789, 1327, 1328, 1329, 1330,
1331, 4579, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
1341, 5112, 1343, 5161, 46, 1346, 1347, 792, 1508, 2514,
1351, 3686, 2457, 4663, 1355, 1356, 1357, 4663, 5024, 4663,
4663, 4663, 4986, 489, 472, 4663, 5128, 1368, 1369, 1370,
4860, 4861, 1373, 4933, 4663, 1376, 1377, 1378, 1379, 1380,
1381, 489, 4663, 5010, 427, 4663, 4663, 4877, 5024, 4663,
4663, 4663, 4959, 1394, 1395, 4958, 1397, 1398, 1399, 1400,
1401, 1402, 1403, 1404, 1405, 1406, 1407, 4752, 4753, 1410,
3637, 2209, 2214, 1414, 1019, 1416, 4071, 3138, 3925, 2365,
4092, 3102, 3101, 5029, 3107, 551, 3878, 4487, 4907, 4275,
5036, 4919, 4986, 4917, 4638, 2363, 2296, 3656, 3096, 3945,
3995, 3488, 568, 551, 3946, 3521, 3520, 490, 491, 4794,
4940, 4304, 3998, 4688, 3341, 2494, 4642, 1458, 4505, 4561,
568, 4509, 4566, 5069, 4517, 4955, 4929, 2900, 1658, 5075,
5089, 2910, 3972, 4282, 5080, 3643, 2785, 2780, 4968, 3084,
4350, 2297, 2296, 5089, 2297, 1941, 4663, 5093, 1487, 797,
1937, 2504, 3550, 1634, 2918, 2498, 1609, 3164, 3013, 2488,
3705, 61, 2541, 2542, 2543, 1830, 762, 4997, 1476, 2824,
5116, 2114, 2082, 3354, 4612, 4860, 4861, 4597, 761, 5009,
5010, 2746, 1681, 4897, 2524, 2642, 5132, 1318, 2524, 5099,
2524, 2524, 4877, 2572, 5140, 4972, 4443, 5027, 4890, 5138,
4171, 5100, 5138, 4696, 3571, 4697, 3761, 5037, 1292, 4598,
805, 3221, 5042, 4180, 4479, 5161, 1262, 4504, 3544, 2164,
16, 4607, 1715, 1165, 1005, 1125, 5056, 2424, 5058, 1005,
3163, 3163, 4149, 1005, 3724, 4752, 4753, 2616, 4140, 1002,
1005, 2603, 1486, 1893, 5074, 791, 5076, 2445, 5078, 632,
1919, 2979, 2604, 1803, 4887, 4940, 3167, 3908, 4266, 5116,
4971, 5140, 4014, 2834, 4145, 4446, 649, 650, 4086, 1852,
4955, 1684, 4882, 43, 5104, 3041, 43, 1204, 1202, 2570,
1847, 1867, 747, 4968, 1845, 39, 2491, 2775, 1117, 2376,
1437, 2377, 4415, 4583, 750, 1164, 5126, 5127, 11, 11,
1059, 4908, 996, 1059, 1059, 3646, 4030, 4393, 4089, -1,
3561, -1, 4997, -1, -1, -1, 5146, 5147, -1, -1,
-1, 5151, -1, -1, 5009, 5010, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1681, -1, 5027, 4860, 4861, -1, -1, 1688, -1, 1690,
1691, -1, 5037, -1, -1, -1, -1, 5042, -1, -1,
4877, 1702, 1703, -1, 1705, 1706, -1, -1, -1, -1,
-1, 5056, -1, 5058, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5074,
-1, 5076, -1, 5078, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5104,
-1, -1, -1, 4940, -1, -1, -1, -1, -1, 2808,
-1, -1, -1, -1, -1, -1, -1, -1, 4955, -1,
-1, 5126, 5127, -1, -1, -1, -1, -1, -1, -1,
-1, 4968, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5146, 5147, -1, -1, -1, 5151, -1, -1, -1,
2849, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4997, 2860, -1, 2862, 2863, 2864, 2865, -1, 2867, 2868,
-1, -1, 5009, 5010, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1849, -1,
5027, 1852, -1, -1, -1, -1, -1, -1, 1859, 1860,
5037, -1, -1, 1864, -1, 5042, 1867, -1, 21, 1870,
-1, -1, -1, -1, 27, 28, -1, -1, 1879, 5056,
-1, 5058, -1, -1, -1, -1, -1, -1, 2927, -1,
-1, -1, -1, -1, -1, -1, -1, 5074, -1, 5076,
2939, 5078, -1, -1, -1, -1, -1, -1, -1, -1,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 77, -1, -1, 5104, -1, -1,
83, 84, -1, -1, 87, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5126,
5127, -1, -1, 232, -1, -1, -1, -1, 111, -1,
-1, 1962, -1, -1, -1, 1966, -1, -1, -1, 5146,
5147, -1, 125, 1974, 5151, 1976, 129, -1, 3017, -1,
-1, 3020, 3021, -1, -1, 3024, 3025, 3026, 3027, 3028,
3029, 3030, 3031, -1, -1, 3034, -1, 3036, -1, 3038,
3039, -1, -1, 156, -1, 158, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2016, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, -1, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, -1, 317, 318,
-1, -1, -1, 3082, -1, -1, 7, -1, -1, -1,
-1, 12, -1, 14, -1, -1, -1, -1, -1, 2060,
2061, 2062, -1, -1, -1, -1, 27, 28, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 231, -1,
-1, -1, 235, -1, -1, -1, -1, -1, 2089, 242,
-1, -1, -1, 2094, -1, -1, -1, 58, -1, -1,
-1, 2102, 63, 2104, -1, -1, -1, -1, -1, 262,
-1, -1, -1, -1, -1, -1, 77, -1, -1, -1,
-1, -1, 83, 84, -1, -1, 87, -1, -1, -1,
-1, -1, 2133, -1, -1, 96, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 125, 653, 445, 446, 129, 322,
-1, -1, -1, -1, -1, -1, 137, -1, -1, -1,
-1, -1, -1, 144, -1, -1, -1, 340, -1, -1,
-1, 152, -1, -1, -1, -1, -1, 158, -1, -1,
-1, -1, -1, -1, -1, -1, 2207, -1, -1, 2210,
2211, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 192, -1, -1, 722, -1, -1, -1, -1, -1,
-1, -1, 395, -1, -1, -1, -1, -1, 401, -1,
-1, 404, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 761, 235, -1, -1, -1, -1, -1,
-1, 242, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 262, -1, 456, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2317, -1, -1, -1,
-1, -1, -1, -1, 285, -1, -1, -1, -1, -1,
483, -1, -1, -1, -1, -1, -1, 825, -1, -1,
493, -1, -1, -1, -1, -1, -1, 3386, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 322, -1, 3402, -1, -1, -1, 855, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 340,
-1, -1, 3421, 344, -1, -1, -1, 540, 541, 542,
-1, -1, -1, -1, 547, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 27, 28, 2407, -1, -1, -1,
2411, 564, -1, 2414, 567, 2416, 2417, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
-1, -1, 711, 712, 395, -1, -1, -1, 61, 62,
63, 929, -1, 404, -1, -1, -1, -1, 71, -1,
603, -1, -1, 732, 77, 734, 735, 736, -1, -1,
83, 84, -1, -1, 87, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 637, -1, -1, -1, 111, -1,
451, -1, 2493, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 125, -1, -1, -1, 129, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 483, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 158, -1, -1, -1, -1,
2541, 2542, 2543, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2570,
3609, -1, 725, -1, 1062, -1, -1, -1, -1, 540,
541, 542, -1, -1, -1, -1, 547, -1, -1, -1,
-1, -1, -1, -1, 3633, 748, -1, -1, 751, -1,
-1, -1, -1, 564, -1, -1, 567, -1, -1, -1,
-1, -1, 235, -1, -1, -1, -1, -1, -1, 242,
-1, -1, 2623, -1, -1, -1, -1, -1, -1, -1,
-1, 2632, 2633, -1, -1, -1, -1, -1, -1, 262,
-1, -1, 603, -1, -1, -1, -1, -1, -1, -1,
-1, 2652, 2653, -1, 2655, -1, -1, 2658, 2659, 2660,
2661, 2662, -1, -1, 2665, -1, -1, -1, -1, -1,
-1, -1, -1, 2674, -1, -1, 637, -1, 2679, 640,
2681, -1, 2683, 2684, -1, 2686, 2687, 1175, -1, -1,
2691, 2692, 2693, -1, -1, -1, 2697, 2698, 2699, 322,
2701, -1, 2703, -1, 2705, -1, 2707, -1, 2709, -1,
-1, -1, -1, 2714, -1, -1, -1, 340, -1, -1,
1208, -1, -1, -1, -1, -1, -1, -1, -1, 2730,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2746, 2747, -1, -1, -1,
2751, -1, 2753, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 725, -1, -1, -1, -1, -1,
-1, -1, 395, -1, -1, -1, -1, -1, -1, -1,
-1, 404, -1, -1, -1, -1, -1, -1, -1, 1277,
1278, -1, -1, -1, -1, -1, -1, -1, 1286, 1287,
-1, -1, 1290, 1291, -1, -1, -1, -1, -1, -1,
-1, 1299, 1300, -1, 1302, 1303, -1, 2818, -1, 1307,
-1, -1, -1, 1311, 1312, 1313, 1314, -1, 1316, -1,
-1, -1, -1, -1, -1, -1, 1324, 1325, -1, 1327,
1328, -1, -1, -1, -1, 1333, -1, -1, 1336, 1337,
1338, 1339, 1340, 1341, -1, 1343, -1, -1, 1346, 1347,
483, -1, -1, 1351, 3903, -1, -1, 1355, 1356, 1357,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1368, 1369, 1370, -1, -1, -1, -1, -1, 1376, 1377,
1378, 1379, 1380, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1394, -1, -1, -1,
-1, -1, -1, -1, -1, 27, 28, 540, 541, 542,
-1, -1, -1, -1, 547, -1, 1414, -1, 1416, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 564, -1, -1, 567, 14, 3985, -1, 17, -1,
-1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 32, -1, 77, -1, 36, -1, -1,
1458, 83, 84, -1, -1, 87, -1, -1, -1, -1,
603, 50, 51, -1, -1, -1, -1, -1, -1, 58,
-1, -1, -1, -1, 63, 64, -1, -1, -1, 111,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
79, -1, -1, 125, -1, -1, -1, 129, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
99, -1, -1, -1, -1, -1, 4075, 4076, 4077, 4078,
-1, -1, -1, -1, -1, -1, 158, 4086, -1, -1,
-1, -1, 121, -1, -1, -1, -1, -1, -1, -1,
-1, 4100, 131, 132, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 143, 144, -1, -1, -1, -1,
-1, 3082, -1, -1, -1, -1, -1, 156, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 170, 725, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4153, -1, -1, -1, -1, -1,
3121, 190, 3123, 235, 3125, -1, 3127, -1, -1, -1,
242, -1, -1, -1, -1, -1, -1, -1, -1, 208,
-1, 210, -1, -1, -1, -1, 215, -1, -1, 218,
262, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3161, -1, -1, -1, 233, -1, -1, -1, -1, -1,
-1, -1, 241, -1, -1, 244, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1681, -1, 264, 3197, -1, -1, -1,
1688, -1, 1690, 1691, -1, -1, 4245, -1, -1, -1,
322, -1, 281, -1, -1, -1, 285, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 340, -1,
-1, -1, -1, -1, -1, -1, 3237, 35, 36, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3259, -1,
-1, -1, -1, 61, 62, -1, 3267, -1, -1, -1,
-1, -1, -1, -1, 72, 73, -1, -1, -1, -1,
-1, -1, -1, 395, -1, -1, -1, -1, -1, -1,
-1, -1, 404, 3294, 3295, -1, -1, -1, -1, 97,
-1, 99, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 109, -1, 382, -1, -1, -1, -1, -1, 3320,
-1, -1, -1, -1, 4363, -1, -1, -1, -1, 3330,
-1, 3332, -1, 3334, -1, -1, -1, 4376, -1, -1,
-1, -1, -1, -1, -1, -1, 415, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 426, 4397, 157,
158, -1, -1, -1, -1, 163, -1, -1, 166, -1,
-1, 483, 1860, -1, -1, 3376, 1864, -1, 176, 448,
-1, -1, 451, -1, 453, -1, -1, 456, -1, -1,
-1, 1879, -1, -1, -1, -1, -1, 466, 467, -1,
198, -1, 200, -1, -1, -1, -1, 476, -1, 478,
-1, 209, -1, 211, -1, -1, -1, -1, 487, -1,
-1, -1, -1, -1, 493, -1, -1, -1, 540, 541,
542, -1, 501, -1, -1, 547, -1, 506, 507, 508,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3451, -1, 564, -1, -1, 567, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
539, -1, -1, -1, 1962, 4514, -1, 546, 1966, -1,
-1, -1, -1, -1, 282, -1, -1, -1, 1976, -1,
-1, 603, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 316, -1,
-1, 590, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 602, -1, -1, -1, 606, -1, -1,
-1, -1, -1, -1, -1, 614, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 637, -1,
-1, -1, 2060, 2061, 2062, -1, 645, -1, -1, -1,
-1, -1, -1, 381, -1, -1, -1, -1, -1, -1,
-1, -1, 661, 662, 663, 664, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2094, 676, -1, -1,
408, -1, -1, 725, 2102, -1, 2104, -1, -1, -1,
-1, 419, 420, -1, 422, 423, 424, -1, -1, -1,
-1, -1, -1, 3634, 3635, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 713, -1, 444, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3671, -1, -1, 3674, -1, 3676, -1, -1, -1, 748,
-1, -1, -1, -1, 4723, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
498, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 511, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3724, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 543, -1, -1, -1, 547,
-1, -1, -1, -1, -1, 4794, -1, 3758, 3759, -1,
-1, -1, -1, -1, -1, 563, -1, -1, 566, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3781, -1, -1, -1, -1, -1, -1, -1, 586, -1,
-1, -1, 4831, 4832, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3812, -1, 3814, -1, 14, 3817, 3818, 17, 3820,
-1, -1, -1, -1, -1, -1, 624, -1, -1, 2317,
3831, -1, -1, 631, -1, 3836, -1, 36, 3839, -1,
-1, 3842, 3843, -1, -1, -1, -1, -1, -1, 4888,
-1, 50, 51, -1, -1, -1, -1, -1, -1, 58,
-1, -1, -1, 3864, 63, 64, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
99, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2407,
-1, -1, 121, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 131, 132, -1, -1, 3937, -1, -1, -1,
-1, -1, -1, -1, 143, 144, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 170, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 190, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2493, -1, 5046, -1, 208,
-1, 210, -1, -1, -1, -1, 215, -1, -1, 218,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 233, -1, 4037, 4038, -1, -1,
-1, -1, 241, -1, -1, 244, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5095, -1, -1, -1,
-1, -1, -1, -1, -1, 264, -1, -1, 4069, 4070,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 281, -1, -1, -1, 285, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4107, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4131, -1, -1, -1, -1, 2623, -1, -1, -1, -1,
4141, -1, -1, -1, 2632, 2633, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4162, -1, 4164, 2652, 2653, -1, 2655, -1, -1,
2658, 2659, 2660, 2661, 2662, -1, -1, -1, -1, -1,
-1, -1, -1, 382, -1, -1, 2674, -1, -1, -1,
-1, 2679, -1, 2681, -1, 2683, 2684, -1, 2686, -1,
-1, -1, -1, 2691, 2692, 2693, -1, -1, -1, 2697,
2698, 2699, -1, 2701, -1, 2703, 415, 2705, -1, 2707,
-1, 2709, -1, -1, -1, -1, 2714, 426, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 448,
-1, -1, 451, -1, 453, -1, -1, 456, 2746, -1,
-1, -1, -1, -1, -1, -1, -1, 466, 467, -1,
-1, -1, -1, -1, -1, -1, -1, 476, -1, 478,
-1, -1, -1, -1, -1, -1, -1, -1, 487, -1,
-1, -1, -1, -1, 493, -1, -1, -1, -1, -1,
-1, -1, 501, -1, -1, -1, -1, 506, 507, 508,
-1, -1, -1, -1, -1, -1, -1, -1, 4319, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2818, -1, -1, -1, -1, -1, -1, -1, -1, -1,
539, -1, -1, -1, -1, -1, 4347, 546, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 590, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 602, -1, -1, -1, 606, -1, -1,
-1, -1, -1, -1, -1, 614, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 637, -1,
-1, -1, -1, -1, -1, 4446, 645, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4463, -1, -1, 4466, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 676, 4479, -1,
7, -1, -1, -1, -1, 12, -1, 14, -1, -1,
17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
27, 28, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 713, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 58, -1, -1, 61, 62, 63, 64, -1, -1,
-1, -1, 69, -1, 71, -1, -1, -1, -1, 748,
77, -1, -1, -1, -1, -1, 83, 84, -1, -1,
87, -1, -1, -1, -1, -1, -1, -1, -1, 96,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 111, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
-1, -1, 129, -1, -1, -1, 4607, -1, -1, -1,
137, 138, -1, 4614, -1, -1, -1, 144, -1, -1,
-1, -1, -1, -1, -1, 152, -1, -1, -1, -1,
-1, 158, -1, -1, -1, -1, -1, -1, -1, 3127,
-1, -1, 169, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4658, -1, -1,
-1, -1, 4663, -1, -1, 192, -1, -1, 4669, -1,
-1, -1, -1, 3161, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4706, 233, -1, 235, 3197,
-1, -1, -1, -1, -1, 242, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 262, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4746, -1, -1, -1, 3237,
-1, 4752, 4753, -1, -1, -1, -1, -1, 285, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3259, -1, -1, -1, -1, -1, -1, -1, 3267,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4794, -1, 322, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4806, 3294, 3295, -1, -1,
-1, -1, -1, 340, -1, -1, -1, 344, -1, -1,
-1, -1, -1, -1, -1, 4826, -1, -1, -1, -1,
-1, -1, 3320, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3330, -1, 3332, 4846, 3334, 4848, -1, -1,
-1, -1, -1, -1, -1, 382, -1, 4858, -1, 4860,
4861, 388, -1, -1, -1, -1, -1, -1, 395, -1,
-1, -1, -1, -1, -1, -1, 4877, 404, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 436,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 451, 452, 453, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4938, -1, 4940,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4955, 4956, 483, -1, -1, -1,
-1, -1, -1, 3451, -1, -1, -1, 4968, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4986, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4996, 4997, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5009, 5010,
-1, -1, -1, 540, 541, 542, -1, -1, -1, -1,
547, -1, -1, -1, -1, -1, 5027, -1, -1, -1,
-1, -1, -1, 5034, -1, -1, 5037, 564, -1, -1,
567, 5042, -1, -1, -1, -1, -1, -1, 5049, -1,
-1, -1, -1, -1, -1, 5056, -1, 5058, -1, -1,
-1, -1, -1, 590, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5074, -1, 5076, 603, 5078, -1, 7,
-1, -1, -1, -1, 12, -1, 14, -1, -1, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
28, -1, -1, 5104, -1, -1, -1, -1, -1, -1,
637, -1, -1, 640, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5126, 5127, -1, -1, -1,
58, -1, 5133, -1, -1, 63, 64, -1, -1, -1,
5141, 69, -1, -1, -1, 5146, 5147, -1, -1, 77,
5151, -1, -1, -1, -1, 83, 84, -1, -1, 87,
-1, -1, -1, -1, -1, -1, -1, -1, 96, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 34, 35,
-1, -1, -1, 111, 40, -1, 42, -1, 44, 45,
-1, -1, -1, -1, -1, -1, -1, 125, 725, 726,
727, 129, -1, -1, -1, -1, 62, -1, -1, 137,
138, -1, -1, -1, -1, -1, 144, -1, -1, -1,
-1, -1, -1, -1, 152, -1, -1, -1, -1, -1,
158, -1, -1, -1, -1, -1, 3724, -1, -1, -1,
-1, 169, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 112, -1, -1, 115,
-1, -1, -1, -1, 192, -1, -1, 123, -1, -1,
3758, 3759, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 142, -1, -1, -1,
-1, -1, -1, 3781, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 159, -1, 233, -1, 235, -1, -1,
-1, -1, -1, -1, 242, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3812, -1, 3814, -1, -1, 3817,
3818, 187, -1, 189, 262, -1, -1, -1, -1, -1,
-1, -1, -1, 3831, -1, -1, -1, -1, 3836, 205,
206, 3839, -1, -1, 3842, 3843, -1, 285, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3864, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 247, -1, -1, 322, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 260, -1, -1, -1, -1, -1,
-1, -1, 340, -1, -1, -1, 344, -1, -1, -1,
-1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
-1, -1, 288, 289, -1, 291, -1, 34, 35, -1,
-1, -1, -1, 40, -1, 42, -1, 44, 45, 3937,
-1, -1, -1, -1, 382, -1, -1, -1, -1, -1,
388, -1, -1, -1, -1, 62, -1, 395, -1, -1,
-1, -1, 328, 329, 330, -1, 404, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 347, 348, 349, -1, -1, -1, -1, 354, -1,
-1, 357, -1, -1, -1, -1, -1, -1, 436, -1,
-1, -1, -1, -1, -1, 112, -1, -1, 115, 375,
376, -1, -1, 451, 452, 453, 123, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 142, -1, -1, -1, 4037,
4038, -1, -1, 409, 410, 483, -1, -1, -1, -1,
-1, -1, 159, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 435,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
187, -1, 189, -1, -1, -1, -1, 194, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 205, 206,
-1, -1, 540, 541, 542, -1, -1, -1, -1, 547,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 564, -1, -1, 567,
-1, 497, -1, 4131, -1, 501, -1, -1, -1, -1,
247, -1, -1, 4141, -1, -1, -1, 513, -1, -1,
-1, -1, 590, 260, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4162, 603, 4164, -1, -1, -1,
-1, -1, 279, -1, -1, -1, -1, -1, -1, -1,
-1, 288, 289, -1, 291, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 637,
-1, -1, 640, -1, -1, -1, -1, 573, -1, -1,
576, -1, -1, 579, 580, 581, 582, -1, -1, -1,
-1, 328, 329, 330, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 34, 35,
347, 348, 349, -1, 40, -1, 42, 354, 44, 45,
357, -1, -1, -1, -1, -1, 622, 623, -1, -1,
-1, -1, -1, -1, -1, -1, 62, -1, 375, 376,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 650, -1, -1, 725, 726, 727,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 409, 410, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 112, -1, -1, 115,
-1, 4319, -1, -1, -1, -1, -1, 123, 435, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 142, -1, -1, 4347,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 159, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 753, -1, -1,
497, 187, -1, 189, 501, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 513, -1, -1, 205,
206, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4446, -1,
-1, 247, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 260, 4463, 573, -1, 4466, 576,
-1, -1, 579, 580, 581, 582, -1, -1, -1, -1,
-1, 4479, -1, 279, -1, -1, -1, -1, -1, -1,
-1, -1, 288, 289, -1, 291, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 622, 623, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 328, 329, 330, -1, -1, -1, -1, -1,
-1, -1, -1, 650, -1, -1, -1, -1, -1, -1,
-1, 347, 348, 349, -1, -1, -1, -1, 354, -1,
-1, 357, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 375,
376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4607,
-1, -1, -1, 409, 410, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 435,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4658, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 497, -1, -1, -1, 501, -1, -1, 4706, -1,
-1, -1, -1, -1, -1, -1, -1, 513, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4746, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 573, -1, -1,
576, -1, -1, 579, 580, 581, 582, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4806, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 622, 623, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4846, -1,
4848, -1, -1, -1, 650, -1, -1, -1, -1, -1,
4858, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4938, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4956, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4996, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
-1, 8, 9, 10, 11, 12, 13, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, 5034, -1, 35, 36,
37, 38, 39, 40, 41, -1, 43, 44, 45, -1,
47, 5049, 49, 50, -1, -1, 53, 54, 55, 56,
57, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, 96,
97, 98, -1, -1, -1, 102, 103, 104, -1, 106,
107, 108, -1, 110, 111, 112, 113, 114, 115, -1,
-1, -1, -1, 120, 121, 122, -1, -1, 125, 126,
127, -1, 129, -1, -1, 5133, -1, -1, 135, 136,
137, 138, 139, 5141, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, 175, 176,
177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
187, 188, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, 213, -1, 215, 216,
-1, 218, 219, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, 230, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, 241, 242, 243, 244, 245, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, 271, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, 290, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, 341, 342, -1, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, 356,
357, 358, -1, -1, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, -1, 372, 373, 374, -1, 376,
377, 378, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
397, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
477, 478, 479, 480, 481, -1, 483, 484, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, 588, 589, 590, 591, 592, -1, 594, 595, 596,
597, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, 616,
617, 618, 619, 620, 621, -1, -1, 624, 625, -1,
627, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, 665, 666,
-1, 668, 669, 670, 671, 672, 673, 674, -1, 676,
677, 678, 679, 680, 681, -1, 683, 684, 685, 686,
687, 688, 689, -1, 691, 692, 693, 694, 695, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, 709, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
-1, -1, -1, 740, 741, -1, -1, -1, -1, 746,
-1, 748, -1, -1, -1, 752, -1, -1, -1, 756,
757, 5, 6, -1, 8, 9, 10, 11, 12, -1,
-1, 15, -1, -1, -1, -1, 20, -1, -1, 23,
-1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
-1, 35, 36, 37, 38, 39, 40, 41, -1, 43,
44, 45, 46, 47, -1, 49, 50, -1, -1, 53,
54, 55, 56, 57, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, 70, -1, 72, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, -1, 90, 91, 92, 93,
94, -1, 96, 97, 98, -1, -1, -1, 102, 103,
104, -1, 106, 107, 108, -1, 110, 111, 112, 113,
114, 115, -1, -1, -1, -1, 120, 121, 122, -1,
-1, 125, 126, 127, -1, 129, -1, -1, -1, -1,
-1, 135, 136, 137, 138, 139, -1, -1, -1, 143,
-1, -1, 146, 147, 148, -1, -1, -1, 152, -1,
154, 155, -1, 157, 158, 159, -1, -1, 162, 163,
-1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
174, 175, 176, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, 187, 188, -1, 190, 191, -1, -1,
-1, 195, 196, -1, 198, -1, -1, -1, 202, -1,
204, 205, 206, 207, -1, 209, -1, 211, -1, 213,
-1, 215, 216, -1, 218, 219, -1, 221, 222, -1,
-1, -1, 226, 227, 228, 229, 230, -1, 232, 233,
234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
244, 245, -1, -1, 248, -1, -1, -1, 252, 253,
-1, 255, 256, -1, -1, -1, 260, -1, 262, -1,
-1, 265, 266, -1, 268, 269, -1, 271, 272, 273,
-1, -1, -1, -1, -1, 279, 280, -1, 282, -1,
284, -1, 286, 287, -1, -1, 290, -1, -1, -1,
-1, 295, -1, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, -1, -1, -1, -1, 331, 332, 333,
334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, 356, 357, 358, -1, -1, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, -1, 372, 373,
374, -1, 376, 377, -1, 379, 380, 381, -1, -1,
384, -1, -1, -1, -1, -1, -1, -1, -1, -1,
394, 395, 396, 397, 398, -1, 400, -1, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
-1, 415, 416, 417, -1, 419, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, -1, -1, 432, -1,
-1, -1, 436, 437, -1, 439, 440, -1, -1, 443,
444, 445, 446, 447, -1, 449, 450, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, -1, 468, 469, -1, 471, 472, 473,
-1, 475, -1, 477, 478, 479, 480, 481, -1, 483,
484, 485, 486, 487, 488, 489, -1, 491, 492, -1,
-1, -1, 496, 497, 498, 499, -1, -1, -1, 503,
-1, -1, -1, 507, -1, 509, 510, 511, 512, -1,
514, 515, 516, 517, 518, -1, -1, -1, -1, -1,
524, 525, 526, -1, 528, -1, -1, 531, -1, -1,
534, -1, 536, -1, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, -1, -1, 550, 551, 552, 553,
554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
564, -1, -1, 567, 568, 569, 570, -1, 572, 573,
574, -1, 576, 577, 578, 579, -1, -1, -1, -1,
584, 585, 586, -1, 588, 589, 590, 591, 592, -1,
594, 595, 596, 597, 598, 599, -1, 601, 602, -1,
-1, 605, -1, -1, 608, -1, 610, -1, 612, 613,
-1, -1, 616, 617, 618, 619, 620, 621, -1, -1,
624, 625, -1, 627, 628, -1, 630, 631, 632, 633,
-1, -1, -1, -1, -1, -1, 640, 641, 642, -1,
644, 645, 646, 647, -1, -1, 650, -1, -1, 653,
654, 655, 656, 657, -1, 659, -1, -1, -1, -1,
-1, 665, 666, -1, 668, 669, 670, 671, 672, 673,
674, -1, 676, 677, 678, 679, 680, 681, -1, 683,
684, 685, 686, 687, 688, 689, -1, 691, 692, 693,
694, 695, 696, 697, -1, -1, -1, 701, 702, 703,
704, 705, 706, 707, 708, -1, 710, 711, 712, 713,
714, 715, 716, 717, 718, 719, -1, -1, -1, 723,
724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
734, 735, 736, -1, -1, -1, 740, 741, -1, -1,
-1, -1, 746, -1, 748, -1, -1, -1, 752, -1,
-1, -1, 756, 757, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, 35, 36, 37, 38, 39, 40,
41, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, 54, 55, 56, 57, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, 96, 97, 98, -1, -1,
-1, 102, 103, 104, -1, 106, 107, 108, -1, 110,
111, 112, 113, 114, 115, -1, -1, -1, -1, 120,
121, 122, -1, -1, 125, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, 175, 176, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, 187, 188, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, 213, -1, 215, 216, -1, 218, 219, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, 230,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
241, 242, 243, 244, 245, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
271, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, 290,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
341, 342, -1, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, 356, 357, 358, -1, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
-1, 372, 373, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, 397, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, 477, 478, 479, 480,
481, -1, 483, 484, 485, 486, 487, 488, 489, -1,
491, 492, 493, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
561, 562, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, 588, 589, 590,
591, 592, -1, 594, 595, 596, 597, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, 616, 617, 618, 619, 620,
621, -1, -1, 624, 625, -1, 627, 628, -1, 630,
631, 632, 633, -1, -1, -1, 637, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, 665, 666, -1, 668, 669, 670,
671, 672, 673, 674, -1, 676, 677, 678, 679, 680,
681, -1, 683, 684, 685, 686, 687, 688, 689, -1,
691, 692, 693, 694, 695, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, -1, -1, -1, 740,
741, -1, -1, -1, -1, 746, -1, 748, -1, -1,
-1, 752, -1, -1, -1, 756, 757, 5, 6, -1,
8, 9, 10, 11, 12, -1, -1, 15, -1, -1,
-1, -1, 20, -1, -1, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, 35, 36, 37,
38, 39, 40, 41, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, 54, 55, 56, 57,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
98, -1, -1, -1, 102, 103, 104, -1, 106, 107,
108, -1, 110, 111, 112, 113, 114, 115, -1, -1,
-1, -1, 120, 121, 122, -1, -1, 125, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, -1, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
178, 179, 180, 181, -1, 183, 184, 185, 186, 187,
188, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, -1, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, 213, -1, 215, 216, -1,
218, 219, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, 230, -1, 232, 233, 234, -1, -1, 237,
-1, -1, -1, 241, 242, 243, 244, 245, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, -1, -1, 265, 266, -1,
-1, 269, -1, 271, 272, 273, -1, -1, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, 290, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, 341, 342, -1, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, 356, 357,
358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, -1, 372, 373, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, 397,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, 477,
478, 479, 480, 481, -1, 483, 484, 485, 486, 487,
488, 489, -1, 491, 492, -1, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, -1, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, 556, 557,
558, 559, 560, 561, 562, 563, 564, -1, -1, 567,
568, 569, 570, -1, 572, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
588, 589, 590, 591, 592, -1, 594, 595, 596, 597,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, 616, 617,
618, 619, 620, 621, -1, -1, 624, 625, -1, 627,
628, -1, 630, 631, 632, 633, -1, -1, -1, -1,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, 665, 666, -1,
668, 669, 670, 671, 672, 673, 674, -1, 676, 677,
678, 679, 680, 681, -1, 683, 684, 685, 686, 687,
688, 689, -1, 691, 692, 693, 694, 695, 696, 697,
-1, -1, -1, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, -1, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, -1,
-1, -1, 740, 741, 742, -1, -1, -1, 746, -1,
748, -1, -1, -1, 752, -1, -1, -1, 756, 757,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, 54,
55, 56, 57, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, 96, 97, 98, -1, -1, -1, 102, 103, 104,
-1, 106, 107, 108, -1, 110, 111, 112, 113, 114,
115, -1, -1, -1, -1, 120, 121, 122, -1, -1,
125, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
175, 176, 177, 178, 179, 180, 181, -1, 183, 184,
185, 186, 187, 188, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, 213, -1,
215, 216, -1, 218, 219, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, 230, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, 241, 242, 243, 244,
245, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, 271, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, 290, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, 341, 342, -1, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, 356, 357, 358, -1, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, -1, 372, 373, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, 397, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, 477, 478, 479, 480, 481, -1, 483, 484,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, 588, 589, 590, 591, 592, -1, 594,
595, 596, 597, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, 616, 617, 618, 619, 620, 621, -1, -1, 624,
625, -1, 627, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
665, 666, -1, 668, 669, 670, 671, 672, 673, 674,
-1, 676, 677, 678, 679, 680, 681, -1, 683, 684,
685, 686, 687, 688, 689, -1, 691, 692, 693, 694,
695, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, -1, -1, -1, 740, 741, 742, -1, -1,
-1, 746, -1, 748, -1, -1, -1, 752, -1, -1,
-1, 756, 757, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, 15, -1, -1, -1, -1, 20, -1,
-1, 23, -1, 25, 26, 27, 28, 29, 30, -1,
32, -1, -1, 35, 36, 37, 38, 39, 40, 41,
-1, 43, 44, 45, -1, 47, -1, 49, 50, -1,
-1, 53, 54, 55, 56, 57, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, 70, -1,
72, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, -1, 87, 88, -1, 90, 91,
92, 93, 94, -1, 96, 97, 98, -1, -1, -1,
102, 103, 104, -1, 106, 107, 108, -1, 110, 111,
112, 113, 114, 115, -1, -1, -1, -1, 120, 121,
122, -1, -1, 125, 126, 127, -1, 129, -1, -1,
-1, -1, -1, 135, 136, 137, 138, 139, -1, -1,
-1, 143, -1, -1, 146, 147, 148, -1, -1, -1,
152, -1, 154, 155, -1, 157, 158, 159, -1, -1,
162, 163, -1, 165, 166, 167, 168, 169, 170, 171,
-1, 173, 174, 175, 176, 177, 178, 179, 180, 181,
-1, 183, 184, 185, 186, 187, 188, -1, 190, 191,
-1, -1, -1, 195, 196, 197, 198, -1, -1, -1,
202, -1, 204, 205, 206, 207, -1, 209, -1, 211,
-1, 213, -1, 215, 216, -1, 218, 219, -1, 221,
222, -1, -1, -1, 226, 227, 228, 229, 230, -1,
232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
242, 243, 244, 245, -1, -1, 248, -1, -1, -1,
252, 253, -1, 255, 256, -1, -1, -1, 260, -1,
262, -1, -1, 265, 266, -1, -1, 269, -1, 271,
272, 273, -1, -1, -1, -1, -1, 279, 280, -1,
282, -1, 284, -1, 286, 287, -1, -1, 290, -1,
-1, -1, -1, 295, -1, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, -1, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, -1, -1, -1, -1, 331,
332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
342, -1, 344, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, -1, 356, 357, 358, -1, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, -1,
372, 373, 374, -1, 376, 377, -1, 379, 380, 381,
-1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 394, 395, 396, 397, 398, -1, 400, -1,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, -1, 415, 416, 417, -1, 419, -1, 421,
422, 423, 424, 425, -1, 427, 428, 429, -1, -1,
432, -1, -1, -1, 436, 437, -1, 439, 440, -1,
-1, 443, 444, 445, 446, 447, -1, 449, 450, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, -1, 468, 469, -1, 471,
472, 473, -1, 475, -1, 477, 478, 479, 480, 481,
-1, 483, 484, 485, 486, 487, 488, 489, -1, 491,
492, -1, -1, -1, 496, 497, 498, 499, -1, -1,
-1, 503, -1, -1, -1, 507, -1, 509, 510, 511,
512, -1, 514, 515, 516, 517, 518, -1, -1, -1,
-1, -1, 524, 525, 526, -1, 528, -1, -1, 531,
-1, -1, 534, -1, 536, -1, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, -1, -1, 550, 551,
552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, -1, -1, 567, 568, 569, 570, -1,
572, 573, 574, -1, 576, 577, 578, 579, -1, -1,
-1, -1, -1, 585, 586, -1, 588, 589, 590, 591,
592, -1, 594, 595, 596, 597, 598, 599, -1, 601,
602, -1, -1, 605, -1, -1, 608, -1, 610, -1,
612, 613, -1, -1, 616, 617, 618, 619, 620, 621,
-1, -1, 624, 625, -1, 627, 628, -1, 630, 631,
632, 633, -1, -1, -1, -1, -1, -1, 640, 641,
642, -1, 644, 645, 646, 647, -1, -1, 650, -1,
-1, 653, 654, 655, 656, 657, -1, 659, -1, -1,
-1, -1, -1, 665, 666, -1, 668, 669, 670, 671,
672, 673, 674, -1, 676, 677, 678, 679, 680, 681,
-1, 683, 684, 685, 686, 687, 688, 689, -1, 691,
692, 693, 694, 695, 696, 697, -1, -1, -1, 701,
702, 703, 704, 705, 706, 707, 708, -1, 710, 711,
712, 713, 714, 715, 716, 717, 718, 719, -1, -1,
-1, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, -1, -1, -1, 740, 741,
-1, -1, -1, -1, 746, -1, 748, -1, -1, -1,
752, -1, -1, -1, 756, 757, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, 35, 36, 37, 38,
39, 40, 41, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, 54, 55, 56, 57, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
-1, -1, -1, 102, 103, 104, -1, 106, 107, 108,
-1, 110, 111, 112, 113, 114, 115, -1, -1, -1,
-1, 120, 121, 122, -1, -1, 125, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, 187, 188,
-1, 190, 191, -1, -1, -1, 195, 196, 197, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, 213, -1, 215, 216, -1, 218,
219, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, 230, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, 241, 242, 243, 244, 245, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, 271, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, 290, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, 341, 342, -1, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
-1, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, -1, 372, 373, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, 397, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, 477, 478,
479, 480, 481, -1, 483, 484, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, 556, 557, 558,
559, 560, 561, 562, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, 588,
589, 590, 591, 592, -1, 594, 595, 596, 597, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, 616, 617, 618,
619, 620, 621, -1, -1, 624, 625, -1, 627, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, 665, 666, -1, 668,
669, 670, 671, 672, 673, 674, -1, 676, 677, 678,
679, 680, 681, -1, 683, 684, 685, 686, 687, 688,
689, -1, 691, 692, 693, 694, 695, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, -1, -1,
-1, 740, 741, -1, -1, -1, -1, 746, -1, 748,
-1, -1, -1, 752, -1, -1, -1, 756, 757, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, 15,
-1, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, 35,
36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, 54, 55,
56, 57, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
96, 97, 98, -1, -1, -1, 102, 103, 104, -1,
106, 107, 108, -1, 110, 111, 112, 113, 114, 115,
-1, -1, -1, -1, 120, 121, 122, -1, -1, 125,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
176, 177, 178, 179, 180, 181, -1, 183, 184, 185,
186, 187, 188, -1, 190, 191, -1, -1, -1, 195,
196, 197, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, 213, -1, 215,
216, -1, 218, 219, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, 230, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, 241, 242, 243, 244, 245,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, 271, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, 290, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, 341, 342, -1, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
356, 357, 358, -1, -1, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, -1, 372, 373, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, 397, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, 477, 478, 479, 480, 481, -1, 483, 484, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, -1,
-1, 567, 568, 569, 570, -1, 572, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, 588, 589, 590, 591, 592, -1, 594, 595,
596, 597, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
616, 617, 618, 619, 620, 621, -1, -1, 624, 625,
-1, 627, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, 665,
666, -1, 668, 669, 670, 671, 672, 673, 674, -1,
676, 677, 678, 679, 680, 681, -1, 683, 684, 685,
686, 687, 688, 689, -1, 691, 692, 693, 694, 695,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, -1, -1, 740, 741, -1, -1, -1, -1,
746, -1, 748, -1, -1, -1, 752, -1, -1, -1,
756, 757, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, 35, 36, 37, 38, 39, 40, 41, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, 54, 55, 56, 57, -1, 59, 60, 61, 62,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, 96, 97, 98, -1, -1, -1, 102,
103, 104, -1, 106, 107, 108, -1, 110, 111, 112,
113, 114, 115, -1, -1, -1, -1, 120, 121, 122,
-1, -1, 125, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, 171, -1,
173, 174, 175, 176, 177, 178, 179, 180, 181, -1,
183, 184, 185, 186, 187, 188, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
213, -1, 215, 216, -1, 218, 219, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, 230, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, 241, 242,
243, 244, 245, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, 271, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, 290, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, 341, 342,
-1, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, 356, 357, 358, -1, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, -1, 372,
373, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, 397, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, 477, 478, 479, 480, 481, -1,
483, 484, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
563, 564, -1, -1, 567, 568, 569, 570, -1, 572,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, 588, 589, 590, 591, 592,
-1, 594, 595, 596, 597, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, 616, 617, 618, 619, 620, 621, -1,
-1, 624, 625, -1, 627, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, 665, 666, -1, 668, 669, 670, 671, 672,
673, 674, -1, 676, 677, 678, 679, 680, 681, -1,
683, 684, 685, 686, 687, 688, 689, -1, 691, 692,
693, 694, 695, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, -1, -1, -1, 740, 741, -1,
-1, -1, -1, 746, -1, 748, -1, -1, -1, 752,
-1, -1, -1, 756, 757, 5, 6, -1, 8, 9,
10, 11, 12, -1, -1, 15, -1, -1, -1, -1,
20, -1, -1, 23, -1, 25, 26, 27, 28, 29,
30, -1, 32, -1, -1, 35, 36, 37, 38, 39,
40, 41, -1, 43, 44, 45, -1, 47, -1, 49,
50, -1, -1, 53, 54, 55, 56, 57, -1, 59,
60, 61, 62, 63, -1, 65, 66, 67, 68, 69,
70, -1, 72, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, -1, 87, 88, -1,
90, 91, 92, 93, 94, -1, 96, 97, 98, -1,
-1, -1, 102, 103, 104, -1, 106, 107, 108, -1,
110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
120, 121, 122, -1, -1, 125, 126, 127, -1, 129,
-1, -1, -1, -1, -1, 135, 136, 137, 138, 139,
-1, -1, -1, 143, -1, -1, 146, 147, 148, -1,
-1, -1, 152, -1, 154, 155, -1, 157, 158, 159,
-1, -1, 162, 163, -1, 165, 166, 167, 168, 169,
170, 171, -1, 173, 174, 175, 176, 177, 178, 179,
180, 181, -1, 183, 184, 185, 186, 187, 188, -1,
190, 191, -1, -1, -1, 195, 196, -1, 198, -1,
-1, -1, 202, -1, 204, 205, 206, 207, -1, 209,
-1, 211, -1, 213, -1, 215, 216, -1, 218, 219,
-1, 221, 222, -1, -1, -1, 226, 227, 228, 229,
230, -1, 232, 233, 234, -1, -1, 237, -1, -1,
-1, 241, 242, 243, 244, 245, -1, -1, 248, -1,
-1, -1, 252, 253, -1, 255, 256, -1, -1, -1,
260, -1, 262, -1, -1, 265, 266, -1, -1, 269,
-1, 271, 272, 273, -1, -1, -1, -1, -1, 279,
280, -1, 282, -1, 284, -1, 286, 287, -1, -1,
290, -1, -1, -1, -1, 295, -1, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
-1, 331, 332, 333, 334, 335, 336, -1, -1, 339,
340, 341, 342, -1, 344, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, -1, 356, 357, 358, -1,
-1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, -1, 372, 373, 374, -1, 376, 377, -1, 379,
380, 381, -1, -1, 384, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 394, 395, 396, 397, 398, -1,
400, -1, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, -1, 415, 416, 417, -1, 419,
-1, 421, 422, 423, 424, 425, -1, 427, 428, 429,
-1, -1, 432, -1, -1, -1, 436, 437, -1, 439,
440, -1, -1, 443, 444, 445, 446, 447, -1, 449,
450, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, -1, 468, 469,
-1, 471, 472, 473, -1, 475, -1, 477, 478, 479,
480, 481, -1, 483, 484, 485, 486, 487, 488, 489,
-1, 491, 492, -1, -1, -1, 496, 497, 498, 499,
-1, -1, -1, 503, -1, -1, -1, 507, -1, 509,
510, 511, 512, -1, 514, 515, 516, 517, 518, -1,
-1, -1, -1, -1, 524, 525, 526, -1, 528, -1,
-1, 531, -1, -1, 534, -1, 536, -1, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, -1, -1,
550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
560, 561, 562, 563, 564, -1, -1, 567, 568, 569,
570, -1, 572, 573, 574, -1, 576, 577, 578, 579,
-1, -1, -1, -1, -1, 585, 586, -1, 588, 589,
590, 591, 592, -1, 594, 595, 596, 597, 598, 599,
-1, 601, 602, -1, -1, 605, -1, -1, 608, -1,
610, -1, 612, 613, -1, -1, 616, 617, 618, 619,
620, 621, -1, -1, 624, 625, -1, 627, 628, -1,
630, 631, 632, 633, -1, -1, -1, -1, -1, -1,
640, 641, 642, -1, 644, 645, 646, 647, -1, -1,
650, -1, -1, 653, 654, 655, 656, 657, -1, 659,
-1, -1, -1, -1, -1, 665, 666, -1, 668, 669,
670, 671, 672, 673, 674, -1, 676, 677, 678, 679,
680, 681, -1, 683, 684, 685, 686, 687, 688, 689,
-1, 691, 692, 693, 694, 695, 696, 697, -1, -1,
-1, 701, 702, 703, 704, 705, 706, 707, 708, -1,
710, 711, 712, 713, 714, 715, 716, 717, 718, 719,
-1, -1, -1, 723, 724, 725, 726, 727, 728, 729,
730, 731, 732, 733, 734, 735, 736, -1, -1, -1,
740, 741, -1, -1, -1, -1, 746, -1, 748, -1,
-1, -1, 752, -1, -1, -1, 756, 757, 5, 6,
-1, 8, 9, 10, 11, 12, 13, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, 35, 36,
37, 38, 39, 40, 41, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, 54, 55, 56,
57, -1, 59, 60, 61, 62, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, 96,
97, 98, -1, -1, -1, 102, 103, 104, -1, 106,
107, 108, -1, 110, 111, 112, 113, 114, 115, -1,
-1, -1, -1, 120, 121, 122, -1, -1, 125, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, 171, -1, 173, 174, 175, 176,
177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
187, 188, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, 213, -1, 215, 216,
-1, 218, 219, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, 230, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, 241, 242, 243, 244, 245, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, 271, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, 290, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, 341, 342, -1, 344, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, 356,
357, 358, -1, -1, 361, 362, 363, 364, 365, 366,
-1, 368, 369, 370, -1, 372, 373, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
397, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
477, 478, 479, 480, 481, -1, 483, 484, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, 588, 589, 590, 591, 592, -1, 594, 595, 596,
597, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, 616,
617, 618, 619, 620, 621, -1, -1, 624, 625, -1,
627, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, 665, 666,
-1, 668, 669, 670, 671, 672, 673, 674, -1, 676,
677, 678, 679, 680, 681, -1, 683, 684, 685, 686,
687, 688, 689, -1, 691, 692, 693, 694, 695, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
-1, -1, -1, 740, 741, -1, -1, -1, -1, 746,
-1, 748, -1, -1, -1, 752, -1, -1, -1, 756,
757, 5, 6, -1, 8, 9, 10, 11, 12, -1,
-1, 15, -1, -1, -1, -1, 20, -1, -1, 23,
-1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
-1, 35, 36, 37, 38, 39, 40, 41, -1, 43,
44, 45, -1, 47, -1, 49, 50, -1, -1, 53,
54, 55, 56, 57, -1, 59, 60, 61, 62, 63,
-1, 65, 66, 67, 68, 69, 70, -1, 72, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, -1, 90, 91, 92, 93,
94, -1, 96, 97, 98, -1, -1, -1, 102, 103,
104, -1, 106, 107, 108, -1, 110, 111, 112, 113,
114, 115, -1, -1, -1, -1, 120, 121, 122, -1,
-1, 125, 126, 127, -1, 129, -1, -1, -1, -1,
-1, 135, 136, 137, 138, 139, -1, -1, -1, 143,
-1, -1, 146, 147, 148, -1, -1, -1, 152, -1,
154, 155, -1, 157, 158, 159, -1, -1, 162, 163,
-1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
174, 175, 176, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, 187, 188, -1, 190, 191, -1, -1,
-1, 195, 196, -1, 198, -1, -1, -1, 202, -1,
204, 205, 206, 207, -1, 209, -1, 211, -1, 213,
-1, 215, 216, -1, 218, 219, -1, 221, 222, -1,
-1, -1, 226, 227, 228, 229, 230, -1, 232, 233,
234, -1, -1, 237, -1, -1, -1, 241, 242, 243,
244, 245, -1, -1, 248, -1, -1, -1, 252, 253,
-1, 255, 256, -1, -1, -1, 260, -1, 262, -1,
-1, 265, 266, -1, -1, 269, -1, 271, 272, 273,
-1, -1, -1, -1, -1, 279, 280, -1, 282, -1,
284, -1, 286, 287, -1, -1, 290, -1, -1, -1,
-1, 295, -1, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, -1, -1, -1, -1, 331, 332, 333,
334, 335, 336, -1, -1, 339, 340, 341, 342, -1,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, 356, 357, 358, -1, -1, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, -1, 372, 373,
374, -1, 376, 377, -1, 379, 380, 381, -1, -1,
384, -1, -1, -1, -1, -1, -1, -1, -1, -1,
394, 395, 396, 397, 398, -1, 400, -1, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
-1, 415, 416, 417, -1, 419, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, -1, -1, 432, -1,
-1, -1, 436, 437, -1, 439, 440, -1, -1, 443,
444, 445, 446, 447, -1, 449, 450, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, -1, 468, 469, -1, 471, 472, 473,
-1, 475, -1, 477, 478, 479, 480, 481, -1, 483,
484, 485, 486, 487, 488, 489, -1, 491, 492, -1,
-1, -1, 496, 497, 498, 499, -1, -1, -1, 503,
-1, -1, -1, 507, -1, 509, 510, 511, 512, -1,
514, 515, 516, 517, 518, -1, -1, -1, -1, -1,
524, 525, 526, -1, 528, -1, -1, 531, -1, -1,
534, -1, 536, -1, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, -1, -1, 550, 551, 552, 553,
554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
564, -1, -1, 567, 568, 569, 570, -1, 572, 573,
574, -1, 576, 577, 578, 579, -1, -1, -1, -1,
-1, 585, 586, -1, 588, 589, 590, 591, 592, -1,
594, 595, 596, 597, 598, 599, -1, 601, 602, -1,
-1, 605, -1, -1, 608, -1, 610, -1, 612, 613,
-1, -1, 616, 617, 618, 619, 620, 621, -1, -1,
624, 625, -1, 627, 628, -1, 630, 631, 632, 633,
-1, -1, -1, -1, -1, -1, 640, 641, 642, -1,
644, 645, 646, 647, -1, -1, 650, -1, -1, 653,
654, 655, 656, 657, -1, 659, -1, -1, -1, -1,
-1, 665, 666, -1, 668, 669, 670, 671, 672, 673,
674, -1, 676, 677, 678, 679, 680, 681, -1, 683,
684, 685, 686, 687, 688, 689, -1, 691, 692, 693,
694, 695, 696, 697, -1, -1, -1, 701, 702, 703,
704, 705, 706, 707, 708, -1, 710, 711, 712, 713,
714, 715, 716, 717, 718, 719, -1, -1, -1, 723,
724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
734, 735, 736, -1, -1, -1, 740, 741, -1, -1,
-1, -1, 746, -1, 748, -1, -1, -1, 752, -1,
-1, -1, 756, 757, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, 35, 36, 37, 38, 39, 40,
41, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, 54, 55, 56, 57, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, 96, 97, 98, -1, -1,
-1, 102, 103, 104, -1, 106, 107, 108, -1, 110,
111, 112, 113, 114, 115, -1, -1, -1, -1, 120,
121, 122, -1, -1, 125, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
171, -1, 173, 174, 175, 176, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, 187, 188, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, 213, -1, 215, 216, -1, 218, 219, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, 230,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
241, 242, 243, 244, 245, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
271, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, 290,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
341, 342, -1, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, 356, 357, 358, -1, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
-1, 372, 373, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, 397, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, 477, 478, 479, 480,
481, -1, 483, 484, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
561, 562, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, 588, 589, 590,
591, 592, -1, 594, 595, 596, 597, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, 616, 617, 618, 619, 620,
621, -1, -1, 624, 625, -1, 627, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, 665, 666, -1, 668, 669, 670,
671, 672, 673, 674, -1, 676, 677, 678, 679, 680,
681, -1, 683, 684, 685, 686, 687, 688, 689, -1,
691, 692, 693, 694, 695, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, -1, -1, -1, 740,
741, -1, -1, -1, -1, 746, -1, 748, -1, -1,
-1, 752, -1, -1, -1, 756, 757, 5, 6, -1,
8, 9, 10, 11, 12, -1, -1, 15, -1, -1,
-1, -1, 20, -1, -1, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, 35, 36, 37,
38, 39, 40, 41, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, 54, 55, 56, 57,
-1, 59, 60, 61, 62, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, 90, 91, 92, 93, 94, -1, 96, 97,
98, -1, -1, -1, 102, 103, 104, -1, 106, 107,
108, -1, 110, 111, 112, 113, 114, 115, -1, -1,
-1, -1, 120, 121, 122, -1, -1, 125, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, -1, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, 171, -1, 173, 174, 175, 176, 177,
178, 179, 180, 181, -1, 183, 184, 185, 186, 187,
188, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, -1, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, 213, -1, 215, 216, -1,
218, 219, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, 230, -1, 232, 233, 234, -1, -1, 237,
-1, -1, -1, 241, 242, 243, 244, 245, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, -1, -1, 265, 266, -1,
-1, 269, -1, 271, 272, 273, -1, -1, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, 290, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, 341, 342, -1, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, 356, 357,
358, -1, -1, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, -1, 372, 373, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, 397,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, 477,
478, 479, 480, 481, -1, 483, 484, 485, 486, 487,
488, 489, -1, 491, 492, -1, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, -1, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, 556, 557,
558, 559, 560, 561, 562, 563, 564, -1, -1, 567,
568, 569, 570, -1, 572, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
588, 589, 590, 591, 592, -1, 594, 595, 596, 597,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, 616, 617,
618, 619, 620, 621, -1, -1, 624, 625, -1, 627,
628, -1, 630, 631, 632, 633, -1, -1, -1, -1,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, 665, 666, -1,
668, 669, 670, 671, 672, 673, 674, -1, 676, 677,
678, 679, 680, 681, -1, 683, 684, 685, 686, 687,
688, 689, -1, 691, 692, 693, 694, 695, 696, 697,
-1, -1, -1, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, -1, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, -1,
-1, -1, 740, 741, -1, -1, -1, -1, 746, -1,
748, -1, -1, -1, 752, -1, -1, -1, 756, 757,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
35, 36, 37, 38, 39, 40, 41, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, 54,
55, 56, 57, -1, 59, 60, 61, 62, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, 96, 97, 98, -1, -1, -1, 102, 103, 104,
-1, 106, 107, 108, -1, 110, 111, 112, 113, 114,
115, -1, -1, -1, -1, 120, 121, 122, -1, -1,
125, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, 171, -1, 173, 174,
175, 176, 177, 178, 179, 180, 181, -1, 183, 184,
185, 186, 187, 188, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, 213, -1,
215, 216, -1, 218, 219, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, 230, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, 241, 242, 243, 244,
245, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, 271, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, 290, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, 341, 342, -1, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, 356, 357, 358, -1, -1, 361, 362, 363, 364,
365, 366, -1, 368, 369, 370, -1, 372, 373, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, 397, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, 477, 478, 479, 480, 481, -1, 483, 484,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, 588, 589, 590, 591, 592, -1, 594,
595, 596, 597, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, 616, 617, 618, 619, 620, 621, -1, -1, 624,
625, -1, 627, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
665, 666, -1, 668, 669, 670, 671, 672, 673, 674,
-1, 676, 677, 678, 679, 680, 681, -1, 683, 684,
685, 686, 687, 688, 689, -1, 691, 692, 693, 694,
695, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, -1, -1, -1, 740, 741, -1, -1, -1,
-1, 746, -1, 748, -1, -1, -1, 752, -1, -1,
-1, 756, 757, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, 15, -1, -1, -1, -1, 20, -1,
-1, 23, -1, 25, 26, 27, 28, 29, 30, -1,
32, -1, -1, 35, 36, 37, 38, 39, 40, 41,
-1, 43, 44, 45, -1, 47, -1, 49, 50, -1,
-1, 53, 54, 55, 56, 57, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, 70, -1,
72, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, -1, 87, 88, -1, 90, 91,
92, 93, 94, -1, 96, 97, 98, -1, -1, -1,
102, 103, 104, -1, 106, 107, 108, -1, 110, 111,
112, 113, 114, 115, -1, -1, -1, -1, 120, 121,
122, -1, -1, 125, 126, 127, -1, 129, -1, -1,
-1, -1, -1, 135, 136, 137, 138, 139, -1, -1,
-1, 143, -1, -1, 146, 147, 148, -1, -1, -1,
152, -1, 154, 155, -1, 157, 158, 159, -1, -1,
162, 163, -1, 165, 166, 167, 168, 169, 170, 171,
-1, 173, 174, 175, 176, 177, 178, 179, 180, 181,
-1, 183, 184, 185, 186, 187, 188, -1, 190, 191,
-1, -1, -1, 195, 196, -1, 198, -1, -1, -1,
202, -1, 204, 205, 206, 207, -1, 209, -1, 211,
-1, 213, -1, 215, 216, -1, 218, 219, -1, 221,
222, -1, -1, -1, 226, 227, 228, 229, 230, -1,
232, 233, 234, -1, -1, 237, -1, -1, -1, 241,
242, 243, 244, 245, -1, -1, 248, -1, -1, -1,
252, 253, -1, 255, 256, -1, -1, -1, 260, -1,
262, -1, -1, 265, 266, -1, -1, 269, -1, 271,
272, 273, -1, -1, -1, -1, -1, 279, 280, -1,
282, -1, 284, -1, 286, 287, -1, -1, 290, -1,
-1, -1, -1, 295, -1, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, -1, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, -1, -1, -1, -1, 331,
332, 333, 334, 335, 336, -1, -1, 339, 340, 341,
342, -1, 344, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, -1, 356, 357, 358, -1, -1, 361,
362, 363, 364, 365, 366, -1, 368, 369, 370, -1,
372, 373, 374, -1, 376, 377, -1, 379, 380, 381,
-1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 394, 395, 396, 397, 398, -1, 400, -1,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, -1, 415, 416, 417, -1, 419, -1, 421,
422, 423, 424, 425, -1, 427, 428, 429, -1, -1,
432, -1, -1, -1, 436, 437, -1, 439, 440, -1,
-1, 443, 444, 445, 446, 447, -1, 449, 450, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, -1, 468, 469, -1, 471,
472, 473, -1, 475, -1, 477, 478, 479, 480, 481,
-1, 483, 484, 485, 486, 487, 488, 489, -1, 491,
492, -1, -1, -1, 496, 497, 498, 499, -1, -1,
-1, 503, -1, -1, -1, 507, -1, 509, 510, 511,
512, -1, 514, 515, 516, 517, 518, -1, -1, -1,
-1, -1, 524, 525, 526, -1, 528, -1, -1, 531,
-1, -1, 534, -1, 536, -1, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, -1, -1, 550, 551,
552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, -1, -1, 567, 568, 569, 570, -1,
572, 573, 574, -1, 576, 577, 578, 579, -1, -1,
-1, -1, -1, 585, 586, -1, 588, 589, 590, 591,
592, -1, 594, 595, 596, 597, 598, 599, -1, 601,
602, -1, -1, 605, -1, -1, 608, -1, 610, -1,
612, 613, -1, -1, 616, 617, 618, 619, 620, 621,
-1, -1, 624, 625, -1, 627, 628, -1, 630, 631,
632, 633, -1, -1, -1, -1, -1, -1, 640, 641,
642, -1, 644, 645, 646, 647, -1, -1, 650, -1,
-1, 653, 654, 655, 656, 657, -1, 659, -1, -1,
-1, -1, -1, 665, 666, -1, 668, 669, 670, 671,
672, 673, 674, -1, 676, 677, 678, 679, 680, 681,
-1, 683, 684, 685, 686, 687, 688, 689, -1, 691,
692, 693, 694, 695, 696, 697, -1, -1, -1, 701,
702, 703, 704, 705, 706, 707, 708, -1, 710, 711,
712, 713, 714, 715, 716, 717, 718, 719, -1, -1,
-1, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, -1, -1, -1, 740, 741,
-1, -1, -1, -1, 746, -1, 748, -1, -1, -1,
752, -1, -1, -1, 756, 757, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, 35, 36, 37, 38,
39, 40, 41, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, 54, 55, 56, 57, -1,
59, 60, 61, 62, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, 96, 97, 98,
-1, -1, -1, 102, 103, 104, -1, 106, 107, 108,
-1, 110, 111, 112, 113, 114, 115, -1, -1, -1,
-1, 120, 121, 122, -1, -1, 125, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, 175, 176, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, 187, 188,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, 213, -1, 215, 216, -1, 218,
219, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, 230, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, 241, 242, 243, 244, 245, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, 271, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, 290, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, 341, 342, -1, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
-1, -1, 361, 362, 363, 364, 365, 366, -1, 368,
369, 370, -1, 372, 373, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, 397, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, 477, 478,
479, 480, 481, -1, 483, 484, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, 556, 557, 558,
559, 560, 561, 562, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, 588,
589, 590, 591, 592, -1, 594, 595, 596, 597, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, 616, 617, 618,
619, 620, 621, -1, -1, 624, 625, -1, 627, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, 665, 666, -1, 668,
669, 670, 671, 672, 673, 674, -1, 676, 677, 678,
679, 680, 681, -1, 683, 684, 685, 686, 687, 688,
689, -1, 691, 692, 693, 694, 695, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, -1, -1,
-1, 740, 741, -1, -1, -1, -1, 746, -1, 748,
-1, -1, -1, 752, -1, -1, -1, 756, 757, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, 15,
-1, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, 35,
36, 37, 38, 39, 40, 41, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, 54, 55,
56, 57, -1, 59, 60, 61, 62, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
96, 97, 98, -1, -1, -1, 102, 103, 104, -1,
106, 107, 108, -1, 110, 111, 112, 113, 114, 115,
-1, -1, -1, -1, 120, 121, 122, -1, -1, 125,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, 171, -1, 173, 174, 175,
176, 177, 178, 179, 180, 181, -1, 183, 184, 185,
186, 187, 188, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, 213, -1, 215,
216, -1, 218, 219, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, 230, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, 241, 242, 243, 244, 245,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, 271, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, 290, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, 341, 342, -1, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
356, 357, 358, -1, -1, 361, 362, 363, 364, 365,
366, -1, 368, 369, 370, -1, 372, 373, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, 397, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, 477, 478, 479, 480, 481, -1, 483, 484, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, -1,
-1, 567, 568, 569, 570, -1, 572, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, 588, 589, 590, 591, 592, -1, 594, 595,
596, 597, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
616, 617, 618, 619, 620, 621, -1, -1, 624, 625,
-1, 627, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, 665,
666, -1, 668, 669, 670, 671, 672, 673, 674, -1,
676, 677, 678, 679, 680, 681, -1, 683, 684, 685,
686, 687, 688, 689, -1, 691, 692, 693, 694, 695,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, -1, -1, 740, 741, -1, -1, -1, -1,
746, -1, 748, -1, -1, -1, 752, -1, -1, -1,
756, 757, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
493, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, 637, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, 700, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, 720, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, -1, -1, -1, 5, 6, -1,
8, 9, 10, 11, 12, 748, -1, 15, -1, -1,
-1, -1, 20, -1, 757, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, -1, 36, -1,
-1, -1, 40, -1, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, -1, -1, 56, 57,
-1, 59, 60, 61, -1, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, 90, 91, 92, 93, 94, -1, -1, -1,
98, -1, -1, -1, -1, 103, -1, -1, 106, -1,
-1, -1, 110, 111, 112, -1, -1, 115, -1, -1,
-1, -1, 120, 121, -1, -1, -1, -1, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, 145, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, -1, -1, 173, 174, 175, 176, 177,
-1, -1, 180, 181, -1, 183, 184, 185, 186, 187,
-1, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, -1, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, -1, -1, 215, 216, -1,
218, -1, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, -1, -1, 232, 233, 234, -1, -1, 237,
-1, -1, -1, -1, 242, 243, 244, -1, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, -1, -1, 265, 266, -1,
-1, 269, -1, -1, 272, 273, -1, -1, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, -1, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, -1, 320, 321, 322, 323, -1, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, -1, 342, -1, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
358, -1, -1, 361, 362, 363, 364, 365, -1, -1,
-1, 369, 370, -1, -1, -1, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, -1, -1, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, -1,
478, 479, 480, 481, -1, 483, -1, 485, 486, 487,
488, 489, -1, 491, 492, -1, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, -1, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, -1, -1, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, -1, -1,
558, 559, 560, 561, -1, 563, 564, -1, -1, 567,
568, 569, 570, -1, -1, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
-1, -1, 590, 591, 592, -1, -1, 595, 596, -1,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, -1, -1,
-1, 619, -1, 621, -1, -1, 624, -1, -1, -1,
628, -1, 630, 631, 632, 633, -1, -1, -1, -1,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, -1, -1, -1,
668, 669, 670, -1, 672, 673, 674, -1, 676, -1,
-1, 679, -1, 681, -1, -1, -1, -1, -1, -1,
688, 689, -1, -1, 692, -1, 694, -1, 696, 697,
-1, -1, 700, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, 720, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, -1,
-1, -1, 5, 6, -1, 8, 9, 10, 11, 12,
748, -1, 15, -1, -1, -1, -1, 20, -1, 757,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, 700, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, 720, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, -1, -1, 5, 6, -1, 8,
9, 10, 11, 12, -1, 748, 15, -1, -1, -1,
-1, 20, -1, -1, 757, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
-1, -1, -1, -1, 53, 54, -1, 56, 57, -1,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, -1, 78,
-1, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, -1, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, -1, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, -1, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, -1, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, -1, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, 182, 183, 184, 185, 186, 187, -1,
-1, -1, -1, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, -1, 216, -1, -1,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, 230, -1, 232, -1, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, -1, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, 257, -1,
-1, 260, -1, 262, -1, -1, -1, 266, -1, -1,
269, 270, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, 292, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
-1, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, -1, -1, -1, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, -1, 454, 455, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, -1, 468,
469, -1, 471, 472, 473, 474, 475, -1, -1, -1,
479, 480, 481, -1, 483, -1, 485, 486, -1, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, -1, -1,
-1, 510, -1, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
-1, 540, 541, 542, 543, -1, -1, -1, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, -1, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, -1, -1, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, 636, -1, -1,
-1, 640, 641, 642, -1, 644, -1, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, -1, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, -1, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, 753, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
37, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, 122, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, 179, 180, 181, -1, 183, 184, 185, 186,
187, 188, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, 219, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, 290, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, 356,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, 372, 373, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, 589, 590, 591, 592, -1, 594, 595, 596,
597, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
-1, 5, 6, -1, 8, 9, 10, 11, 12, -1,
-1, 15, -1, -1, -1, 752, 20, -1, -1, 23,
-1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
-1, -1, 36, -1, -1, -1, 40, -1, -1, 43,
44, 45, -1, 47, -1, 49, 50, -1, -1, 53,
-1, -1, 56, 57, -1, 59, 60, 61, -1, 63,
-1, 65, 66, 67, 68, 69, 70, -1, 72, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, -1, 90, 91, 92, 93,
94, -1, -1, -1, 98, -1, -1, -1, -1, 103,
-1, -1, 106, -1, -1, -1, 110, 111, 112, -1,
-1, 115, -1, -1, -1, -1, 120, 121, -1, -1,
-1, -1, 126, 127, -1, 129, -1, -1, -1, -1,
-1, 135, 136, 137, 138, 139, -1, -1, -1, 143,
-1, -1, 146, 147, 148, -1, -1, -1, 152, -1,
154, 155, -1, 157, 158, 159, -1, -1, 162, 163,
-1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
174, 175, 176, 177, -1, -1, 180, 181, -1, 183,
184, 185, 186, 187, -1, -1, 190, 191, -1, -1,
-1, 195, 196, -1, 198, -1, -1, -1, 202, -1,
204, 205, 206, 207, -1, 209, -1, 211, -1, -1,
-1, 215, 216, -1, 218, -1, -1, 221, 222, -1,
-1, -1, 226, 227, 228, 229, -1, -1, 232, 233,
234, -1, -1, 237, -1, -1, -1, -1, 242, 243,
244, -1, -1, -1, 248, -1, -1, -1, 252, 253,
-1, 255, 256, -1, -1, -1, 260, -1, 262, -1,
-1, 265, 266, -1, -1, 269, -1, -1, 272, 273,
274, -1, -1, -1, -1, 279, 280, -1, 282, -1,
284, -1, 286, 287, -1, -1, -1, -1, -1, -1,
-1, 295, -1, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, 316, 317, 318, -1, 320, 321, 322, 323,
-1, 325, 326, -1, -1, -1, -1, 331, 332, 333,
334, 335, 336, -1, -1, 339, 340, -1, 342, -1,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, -1, 357, 358, -1, -1, 361, 362, 363,
364, 365, -1, -1, -1, 369, 370, -1, -1, -1,
374, -1, 376, 377, -1, 379, 380, 381, -1, -1,
384, -1, -1, -1, -1, -1, -1, -1, 392, -1,
394, 395, 396, -1, 398, -1, 400, -1, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
-1, 415, 416, 417, -1, 419, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, -1, -1, 432, -1,
-1, -1, 436, 437, -1, 439, 440, -1, -1, 443,
444, 445, 446, 447, -1, 449, 450, -1, 452, 453,
454, -1, -1, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, -1, 468, 469, -1, 471, 472, 473,
-1, 475, -1, -1, 478, 479, 480, 481, -1, 483,
-1, 485, 486, 487, 488, 489, -1, 491, 492, -1,
-1, -1, 496, 497, 498, 499, -1, -1, -1, 503,
-1, -1, -1, 507, -1, 509, 510, 511, 512, -1,
514, 515, 516, 517, 518, -1, -1, -1, -1, -1,
524, 525, 526, -1, 528, -1, -1, 531, -1, -1,
534, -1, 536, -1, 538, 539, 540, 541, 542, 543,
-1, -1, 546, 547, -1, -1, 550, 551, 552, 553,
554, 555, -1, -1, 558, 559, 560, 561, -1, 563,
564, -1, -1, 567, 568, 569, 570, -1, 572, 573,
574, -1, 576, 577, 578, 579, -1, -1, -1, -1,
-1, 585, 586, -1, -1, -1, 590, 591, 592, -1,
-1, 595, 596, -1, 598, 599, -1, 601, 602, -1,
-1, 605, -1, -1, 608, -1, 610, -1, 612, 613,
-1, -1, -1, -1, -1, 619, -1, 621, -1, -1,
624, -1, -1, -1, 628, -1, 630, 631, 632, 633,
-1, -1, -1, -1, -1, -1, 640, 641, 642, -1,
644, 645, 646, 647, -1, -1, 650, -1, -1, 653,
654, 655, 656, 657, -1, 659, -1, -1, -1, -1,
-1, -1, -1, -1, 668, 669, 670, -1, 672, 673,
674, -1, 676, -1, -1, 679, -1, 681, -1, -1,
-1, -1, -1, -1, 688, 689, -1, -1, 692, -1,
694, -1, 696, 697, -1, -1, -1, 701, 702, 703,
704, 705, 706, 707, 708, -1, 710, 711, 712, 713,
714, 715, 716, 717, 718, 719, -1, -1, -1, 723,
724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
734, 735, 736, -1, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, 752, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, 62, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, 125, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, -1, 5, 6, -1,
8, 9, 10, 11, 12, -1, -1, 15, -1, -1,
-1, 752, 20, -1, -1, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, -1, 36, -1,
-1, -1, 40, -1, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, -1, -1, 56, 57,
-1, 59, 60, 61, -1, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, 90, 91, 92, 93, 94, -1, -1, -1,
98, -1, -1, -1, -1, 103, -1, -1, 106, -1,
-1, -1, 110, 111, 112, -1, -1, 115, -1, -1,
-1, -1, 120, 121, -1, -1, -1, -1, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, -1, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, -1, -1, 173, 174, 175, 176, 177,
-1, -1, 180, 181, -1, 183, 184, 185, 186, 187,
-1, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, -1, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, -1, -1, 215, 216, -1,
218, -1, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, -1, -1, 232, 233, 234, -1, -1, 237,
-1, -1, -1, -1, 242, 243, 244, -1, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, -1, -1, 265, 266, -1,
-1, 269, -1, -1, 272, 273, 274, -1, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, -1, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, -1, 320, 321, 322, 323, -1, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, -1, 342, -1, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
358, -1, -1, 361, 362, 363, 364, 365, -1, -1,
-1, 369, 370, -1, -1, -1, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, -1, -1, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, -1,
478, 479, 480, 481, -1, 483, -1, 485, 486, 487,
488, 489, -1, 491, 492, -1, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, -1, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, -1, -1, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, -1, -1,
558, 559, 560, 561, -1, 563, 564, -1, -1, 567,
568, 569, 570, -1, 572, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
-1, -1, 590, 591, 592, -1, -1, 595, 596, -1,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, -1, -1,
-1, 619, -1, 621, -1, -1, 624, -1, -1, -1,
628, -1, 630, 631, 632, 633, -1, -1, -1, -1,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, -1, -1, -1,
668, 669, 670, -1, 672, 673, 674, -1, 676, -1,
-1, 679, -1, 681, -1, -1, -1, -1, -1, -1,
688, 689, -1, -1, 692, -1, 694, -1, 696, 697,
-1, -1, -1, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, -1, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, -1,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, 752, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, 274,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, -1, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, 15, -1, -1, -1, 752, 20, -1,
-1, 23, -1, 25, 26, 27, 28, 29, 30, -1,
32, -1, -1, -1, 36, -1, -1, -1, 40, -1,
-1, 43, 44, 45, -1, 47, -1, 49, 50, -1,
-1, 53, -1, -1, 56, 57, -1, 59, 60, 61,
62, 63, -1, 65, 66, 67, 68, 69, 70, -1,
72, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, -1, 87, 88, -1, 90, 91,
92, 93, 94, -1, -1, -1, 98, -1, -1, -1,
-1, 103, -1, -1, 106, -1, -1, -1, 110, 111,
112, -1, -1, 115, -1, -1, -1, -1, 120, 121,
-1, -1, -1, 125, 126, 127, -1, 129, -1, -1,
-1, -1, -1, 135, 136, 137, 138, 139, -1, -1,
-1, 143, -1, -1, 146, 147, 148, -1, -1, -1,
152, -1, 154, 155, -1, 157, 158, 159, -1, -1,
162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
-1, 173, 174, 175, 176, 177, -1, -1, 180, 181,
-1, 183, 184, 185, 186, 187, -1, -1, 190, 191,
-1, -1, -1, 195, 196, -1, 198, -1, -1, -1,
202, -1, 204, 205, 206, 207, -1, 209, -1, 211,
-1, -1, -1, 215, 216, -1, 218, -1, -1, 221,
222, -1, -1, -1, 226, 227, 228, 229, -1, -1,
232, 233, 234, -1, -1, 237, -1, -1, -1, -1,
242, 243, 244, -1, -1, -1, 248, -1, -1, -1,
252, 253, -1, 255, 256, -1, -1, -1, 260, -1,
262, -1, -1, 265, 266, -1, -1, 269, -1, -1,
272, 273, -1, -1, -1, -1, -1, 279, 280, -1,
282, -1, 284, -1, 286, 287, -1, -1, -1, -1,
-1, -1, -1, 295, -1, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, -1, 316, 317, 318, -1, 320, 321,
322, 323, -1, 325, 326, -1, -1, -1, -1, 331,
332, 333, 334, 335, 336, -1, -1, 339, 340, -1,
342, -1, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, -1, -1, 357, 358, -1, -1, 361,
362, 363, 364, 365, -1, -1, -1, 369, 370, -1,
-1, -1, 374, -1, 376, 377, -1, 379, 380, 381,
-1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 394, 395, 396, -1, 398, -1, 400, -1,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, -1, 415, 416, 417, -1, 419, -1, 421,
422, 423, 424, 425, -1, 427, 428, 429, -1, -1,
432, -1, -1, -1, 436, 437, -1, 439, 440, -1,
-1, 443, 444, 445, 446, 447, -1, 449, 450, -1,
452, 453, 454, -1, -1, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, -1, 468, 469, -1, 471,
472, 473, -1, 475, -1, -1, 478, 479, 480, 481,
-1, 483, -1, 485, 486, 487, 488, 489, -1, 491,
492, -1, -1, -1, 496, 497, 498, 499, -1, -1,
-1, 503, -1, -1, -1, 507, -1, 509, 510, 511,
512, -1, 514, 515, 516, 517, 518, -1, -1, -1,
-1, -1, 524, 525, 526, -1, 528, -1, -1, 531,
-1, -1, 534, -1, 536, -1, 538, 539, 540, 541,
542, 543, -1, -1, 546, 547, -1, -1, 550, 551,
552, 553, 554, 555, -1, -1, 558, 559, 560, 561,
-1, 563, 564, -1, -1, 567, 568, 569, 570, -1,
-1, 573, 574, -1, 576, 577, 578, 579, -1, -1,
-1, -1, -1, 585, 586, -1, -1, -1, 590, 591,
592, -1, -1, 595, 596, -1, 598, 599, -1, 601,
602, -1, -1, 605, -1, -1, 608, -1, 610, -1,
612, 613, -1, -1, -1, -1, -1, 619, -1, 621,
-1, -1, 624, -1, -1, -1, 628, -1, 630, 631,
632, 633, -1, -1, -1, -1, -1, -1, 640, 641,
642, -1, 644, 645, 646, 647, -1, -1, 650, -1,
-1, 653, 654, 655, 656, 657, -1, 659, -1, -1,
-1, -1, -1, -1, -1, -1, 668, 669, 670, -1,
672, 673, 674, -1, 676, -1, -1, 679, -1, 681,
-1, -1, -1, -1, -1, -1, 688, 689, -1, -1,
692, -1, 694, -1, 696, 697, -1, -1, -1, 701,
702, 703, 704, 705, 706, 707, 708, -1, 710, 711,
712, 713, 714, 715, 716, 717, 718, 719, -1, -1,
-1, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, -1, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
752, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, 274, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, -1, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, 15,
-1, -1, -1, 752, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, -1,
36, -1, -1, -1, 40, -1, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, -1, -1,
56, 57, -1, 59, 60, 61, -1, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, 94, -1,
-1, -1, 98, -1, -1, -1, -1, 103, -1, -1,
106, -1, -1, -1, 110, 111, 112, -1, -1, 115,
-1, -1, -1, -1, 120, 121, -1, -1, -1, -1,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
176, 177, -1, -1, 180, 181, -1, 183, 184, 185,
186, 187, -1, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, -1, -1, 215,
216, -1, 218, -1, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, -1, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, -1, 242, 243, 244, -1,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, -1, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, -1, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
-1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
-1, -1, -1, 369, 370, -1, -1, -1, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, -1, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, -1,
-1, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, -1, 478, 479, 480, 481, -1, 483, -1, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, -1, -1,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
-1, -1, 558, 559, 560, 561, -1, 563, 564, -1,
-1, 567, 568, 569, 570, -1, -1, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, -1, -1, 590, 591, 592, -1, -1, 595,
596, -1, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
-1, -1, -1, 619, -1, 621, -1, -1, 624, -1,
-1, -1, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, -1,
-1, -1, 668, 669, 670, -1, 672, 673, 674, -1,
676, -1, -1, 679, -1, 681, -1, -1, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, -1,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, 752, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, -1, 5, 6, -1, 8, 9,
10, 11, 12, -1, -1, 15, 749, -1, -1, 752,
20, -1, -1, 23, -1, 25, 26, 27, 28, 29,
30, -1, 32, -1, -1, -1, 36, -1, -1, -1,
40, -1, -1, 43, 44, 45, -1, 47, -1, 49,
50, -1, -1, 53, -1, -1, 56, 57, -1, 59,
60, 61, -1, 63, -1, 65, 66, 67, 68, 69,
70, -1, 72, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, -1, 87, 88, -1,
90, 91, 92, 93, 94, -1, -1, -1, 98, -1,
-1, -1, -1, 103, -1, -1, 106, -1, -1, -1,
110, 111, 112, -1, -1, 115, -1, -1, -1, -1,
120, 121, -1, -1, -1, -1, 126, 127, -1, 129,
-1, -1, -1, -1, -1, 135, 136, 137, 138, 139,
-1, -1, -1, 143, -1, -1, 146, 147, 148, -1,
-1, -1, 152, -1, 154, 155, -1, 157, 158, 159,
-1, -1, 162, 163, -1, 165, 166, 167, 168, 169,
170, -1, -1, 173, 174, 175, 176, 177, -1, -1,
180, 181, -1, 183, 184, 185, 186, 187, -1, -1,
190, 191, -1, -1, -1, 195, 196, -1, 198, -1,
-1, -1, 202, -1, 204, 205, 206, 207, -1, 209,
-1, 211, -1, -1, -1, 215, 216, -1, 218, -1,
-1, 221, 222, -1, -1, -1, 226, 227, 228, 229,
-1, -1, 232, 233, 234, -1, -1, 237, -1, -1,
-1, -1, 242, 243, 244, -1, -1, -1, 248, -1,
-1, -1, 252, 253, -1, 255, 256, -1, -1, -1,
260, -1, 262, -1, -1, 265, 266, -1, -1, 269,
-1, -1, 272, 273, -1, -1, -1, -1, -1, 279,
280, -1, 282, -1, 284, -1, 286, 287, -1, -1,
-1, -1, -1, -1, -1, 295, -1, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, 316, 317, 318, -1,
320, 321, 322, 323, -1, 325, 326, -1, -1, -1,
-1, 331, 332, 333, 334, 335, 336, -1, -1, 339,
340, -1, 342, -1, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, -1, -1, 357, 358, -1,
-1, 361, 362, 363, 364, 365, -1, -1, -1, 369,
370, -1, -1, -1, 374, -1, 376, 377, -1, 379,
380, 381, -1, -1, 384, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 394, 395, 396, -1, 398, -1,
400, -1, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, -1, 415, 416, 417, -1, 419,
-1, 421, 422, 423, 424, 425, -1, 427, 428, 429,
-1, -1, 432, -1, -1, -1, 436, 437, -1, 439,
440, -1, -1, 443, 444, 445, 446, 447, -1, 449,
450, -1, 452, 453, 454, -1, -1, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, -1, 468, 469,
-1, 471, 472, 473, -1, 475, -1, -1, 478, 479,
480, 481, -1, 483, -1, 485, 486, 487, 488, 489,
-1, 491, 492, -1, -1, -1, 496, 497, 498, 499,
-1, -1, -1, 503, -1, -1, -1, 507, -1, 509,
510, 511, 512, -1, 514, 515, 516, 517, 518, -1,
-1, -1, -1, -1, 524, 525, 526, -1, 528, -1,
-1, 531, -1, -1, 534, -1, 536, -1, 538, 539,
540, 541, 542, 543, -1, -1, 546, 547, -1, -1,
550, 551, 552, 553, 554, 555, -1, -1, 558, 559,
560, 561, -1, 563, 564, -1, -1, 567, 568, 569,
570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
-1, -1, -1, -1, -1, 585, 586, -1, -1, -1,
590, 591, 592, -1, -1, 595, 596, -1, 598, 599,
-1, 601, 602, -1, -1, 605, -1, -1, 608, -1,
610, -1, 612, 613, -1, -1, -1, -1, -1, 619,
-1, 621, -1, -1, 624, -1, -1, -1, 628, -1,
630, 631, 632, 633, -1, -1, -1, -1, -1, -1,
640, 641, 642, -1, 644, 645, 646, 647, -1, -1,
650, -1, -1, 653, 654, 655, 656, 657, -1, 659,
-1, -1, -1, -1, -1, -1, -1, -1, 668, 669,
670, -1, 672, 673, 674, -1, 676, -1, -1, 679,
-1, 681, -1, -1, -1, -1, -1, -1, 688, 689,
-1, -1, 692, -1, 694, -1, 696, 697, -1, -1,
-1, 701, 702, 703, 704, 705, 706, 707, 708, -1,
710, 711, 712, 713, 714, 715, 716, 717, 718, 719,
-1, -1, -1, 723, 724, 725, 726, 727, 728, 729,
730, 731, 732, 733, 734, 735, 736, -1, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, 752, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
-1, 5, 6, -1, 8, 9, 10, 11, 12, -1,
-1, 15, -1, -1, -1, 752, 20, -1, -1, 23,
-1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
-1, -1, 36, -1, -1, -1, 40, -1, -1, 43,
44, 45, -1, 47, -1, 49, 50, -1, -1, 53,
-1, -1, 56, 57, -1, 59, 60, 61, -1, 63,
-1, 65, 66, 67, 68, 69, 70, -1, 72, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, -1, 90, 91, 92, 93,
94, -1, -1, -1, 98, -1, -1, -1, -1, 103,
-1, -1, 106, -1, -1, -1, 110, 111, 112, -1,
-1, 115, -1, -1, -1, -1, 120, 121, -1, -1,
-1, -1, 126, 127, -1, 129, -1, -1, -1, -1,
-1, 135, 136, 137, 138, 139, -1, -1, -1, 143,
-1, -1, 146, 147, 148, -1, -1, -1, 152, -1,
154, 155, -1, 157, 158, 159, -1, -1, 162, 163,
-1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
174, 175, 176, 177, -1, -1, 180, 181, -1, 183,
184, 185, 186, 187, -1, -1, 190, 191, -1, -1,
-1, 195, 196, -1, 198, -1, -1, -1, 202, -1,
204, 205, 206, 207, -1, 209, -1, 211, -1, -1,
-1, 215, 216, -1, 218, -1, -1, 221, 222, -1,
-1, -1, 226, 227, 228, 229, -1, -1, 232, 233,
234, -1, -1, 237, -1, -1, -1, -1, 242, 243,
244, -1, -1, -1, 248, -1, -1, -1, 252, 253,
-1, 255, 256, -1, -1, -1, 260, -1, 262, -1,
-1, 265, 266, -1, -1, 269, -1, -1, 272, 273,
-1, -1, -1, -1, -1, 279, 280, -1, 282, -1,
284, -1, 286, 287, -1, -1, -1, -1, -1, -1,
-1, 295, -1, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, 316, 317, 318, -1, 320, 321, 322, 323,
-1, 325, 326, -1, -1, -1, -1, 331, 332, 333,
334, 335, 336, -1, -1, 339, 340, -1, 342, -1,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, -1, 357, 358, -1, -1, 361, 362, 363,
364, 365, -1, -1, -1, 369, 370, -1, -1, -1,
374, -1, 376, 377, -1, 379, 380, 381, -1, -1,
384, -1, -1, -1, -1, -1, -1, -1, -1, -1,
394, 395, 396, -1, 398, -1, 400, -1, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
-1, 415, 416, 417, -1, 419, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, -1, -1, 432, -1,
-1, -1, 436, 437, -1, 439, 440, -1, -1, 443,
444, 445, 446, 447, -1, 449, 450, -1, 452, 453,
454, -1, -1, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, -1, 468, 469, -1, 471, 472, 473,
-1, 475, -1, -1, 478, 479, 480, 481, -1, 483,
-1, 485, 486, 487, 488, 489, -1, 491, 492, 493,
-1, -1, 496, 497, 498, 499, -1, -1, -1, 503,
-1, -1, -1, 507, -1, 509, 510, 511, 512, -1,
514, 515, 516, 517, 518, -1, -1, -1, -1, -1,
524, 525, 526, -1, 528, -1, -1, 531, -1, -1,
534, -1, 536, -1, 538, 539, 540, 541, 542, 543,
-1, -1, 546, 547, -1, -1, 550, 551, 552, 553,
554, 555, -1, -1, 558, 559, 560, 561, -1, 563,
564, -1, -1, 567, 568, 569, 570, -1, -1, 573,
574, -1, 576, 577, 578, 579, -1, -1, -1, -1,
-1, 585, 586, -1, -1, -1, 590, 591, 592, -1,
-1, 595, 596, -1, 598, 599, -1, 601, 602, -1,
-1, 605, -1, -1, 608, -1, 610, -1, 612, 613,
-1, -1, -1, -1, -1, 619, -1, 621, -1, -1,
624, -1, -1, -1, 628, -1, 630, 631, 632, 633,
-1, -1, -1, 637, -1, -1, 640, 641, 642, -1,
644, 645, 646, 647, -1, -1, 650, -1, -1, 653,
654, 655, 656, 657, -1, 659, -1, -1, -1, -1,
-1, -1, -1, -1, 668, 669, 670, -1, 672, 673,
674, -1, 676, -1, -1, 679, -1, 681, -1, -1,
-1, -1, -1, -1, 688, 689, -1, -1, 692, -1,
694, -1, 696, 697, -1, -1, -1, 701, 702, 703,
704, 705, 706, 707, 708, -1, 710, 711, 712, 713,
714, 715, 716, 717, 718, 719, -1, -1, -1, 723,
724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
734, 735, 736, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, 15, 748, 749, -1, -1, 20, -1,
-1, 23, -1, 25, 26, 27, 28, 29, 30, -1,
32, -1, -1, -1, 36, -1, -1, -1, 40, -1,
-1, 43, 44, 45, -1, 47, -1, 49, 50, -1,
-1, 53, -1, -1, 56, 57, -1, 59, 60, 61,
-1, 63, -1, 65, 66, 67, 68, 69, 70, -1,
72, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, -1, 87, 88, -1, 90, 91,
92, 93, 94, -1, -1, -1, 98, -1, -1, -1,
-1, 103, -1, -1, 106, -1, -1, -1, 110, 111,
112, -1, -1, 115, -1, -1, -1, -1, 120, 121,
-1, -1, -1, -1, 126, 127, -1, 129, -1, -1,
-1, -1, -1, 135, 136, 137, 138, 139, -1, -1,
-1, 143, -1, -1, 146, 147, 148, -1, -1, -1,
152, -1, 154, 155, -1, 157, 158, 159, -1, -1,
162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
-1, 173, 174, 175, 176, 177, -1, -1, 180, 181,
-1, 183, 184, 185, 186, 187, -1, -1, 190, 191,
-1, -1, -1, 195, 196, -1, 198, -1, -1, -1,
202, -1, 204, 205, 206, 207, -1, 209, -1, 211,
-1, -1, -1, 215, 216, -1, 218, -1, -1, 221,
222, -1, -1, -1, 226, 227, 228, 229, -1, -1,
232, 233, 234, -1, -1, 237, -1, -1, -1, -1,
242, 243, 244, -1, -1, -1, 248, -1, -1, -1,
252, 253, -1, 255, 256, -1, -1, -1, 260, -1,
262, -1, -1, 265, 266, -1, -1, 269, -1, -1,
272, 273, -1, -1, -1, -1, -1, 279, 280, -1,
282, -1, 284, -1, 286, 287, -1, -1, -1, -1,
-1, -1, -1, 295, -1, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, -1, 316, 317, 318, -1, 320, 321,
322, 323, -1, 325, 326, -1, -1, -1, -1, 331,
332, 333, 334, 335, 336, -1, -1, 339, 340, -1,
342, -1, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, -1, -1, 357, 358, -1, -1, 361,
362, 363, 364, 365, -1, -1, -1, 369, 370, -1,
-1, -1, 374, -1, 376, 377, -1, 379, 380, 381,
-1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 394, 395, 396, -1, 398, -1, 400, -1,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, -1, 415, 416, 417, -1, 419, -1, 421,
422, 423, 424, 425, -1, 427, 428, 429, -1, -1,
432, -1, -1, -1, 436, 437, -1, 439, 440, -1,
-1, 443, 444, 445, 446, 447, -1, 449, 450, -1,
452, 453, 454, -1, -1, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, -1, 468, 469, -1, 471,
472, 473, -1, 475, -1, -1, 478, 479, 480, 481,
-1, 483, -1, 485, 486, 487, 488, 489, -1, 491,
492, -1, -1, -1, 496, 497, 498, 499, -1, -1,
-1, 503, -1, -1, -1, 507, -1, 509, 510, 511,
512, -1, 514, 515, 516, 517, 518, -1, -1, -1,
-1, -1, 524, 525, 526, -1, 528, -1, -1, 531,
-1, -1, 534, -1, 536, -1, 538, 539, 540, 541,
542, 543, -1, -1, 546, 547, -1, -1, 550, 551,
552, 553, 554, 555, -1, -1, 558, 559, 560, 561,
-1, 563, 564, -1, -1, 567, 568, 569, 570, -1,
-1, 573, 574, -1, 576, 577, 578, 579, -1, -1,
-1, -1, -1, 585, 586, -1, -1, -1, 590, 591,
592, -1, -1, 595, 596, -1, 598, 599, -1, 601,
602, -1, -1, 605, -1, -1, 608, -1, 610, -1,
612, 613, -1, -1, -1, -1, -1, 619, -1, 621,
-1, -1, 624, -1, -1, -1, 628, -1, 630, 631,
632, 633, -1, -1, -1, -1, -1, -1, 640, 641,
642, -1, 644, 645, 646, 647, -1, -1, 650, -1,
-1, 653, 654, 655, 656, 657, -1, 659, -1, -1,
-1, -1, -1, -1, -1, -1, 668, 669, 670, -1,
672, 673, 674, -1, 676, -1, -1, 679, -1, 681,
-1, -1, -1, -1, -1, -1, 688, 689, -1, -1,
692, -1, 694, -1, 696, 697, -1, -1, -1, 701,
702, 703, 704, 705, 706, 707, 708, -1, 710, 711,
712, 713, 714, 715, 716, 717, 718, 719, -1, -1,
-1, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, 5, 6, -1, 8, 9,
10, 11, 12, -1, -1, 15, -1, 749, -1, -1,
20, -1, -1, 23, -1, 25, 26, 27, 28, 29,
30, -1, 32, -1, -1, -1, 36, -1, -1, -1,
40, -1, -1, 43, 44, 45, -1, 47, -1, 49,
50, -1, -1, 53, -1, -1, 56, 57, -1, 59,
60, 61, -1, 63, -1, 65, 66, 67, 68, 69,
70, -1, 72, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, -1, 87, 88, -1,
90, 91, 92, 93, 94, -1, -1, -1, 98, -1,
-1, -1, -1, 103, -1, -1, 106, -1, -1, -1,
110, 111, 112, -1, -1, 115, -1, -1, -1, -1,
120, 121, -1, -1, -1, -1, 126, 127, -1, 129,
-1, -1, -1, -1, -1, 135, 136, 137, 138, 139,
-1, -1, -1, 143, -1, -1, 146, 147, 148, -1,
-1, -1, 152, -1, 154, 155, -1, 157, 158, 159,
-1, -1, 162, 163, -1, 165, 166, 167, 168, 169,
170, -1, -1, 173, 174, 175, 176, 177, -1, -1,
180, 181, -1, 183, 184, 185, 186, 187, -1, -1,
190, 191, -1, -1, -1, 195, 196, -1, 198, -1,
-1, -1, 202, -1, 204, 205, 206, 207, -1, 209,
-1, 211, -1, -1, -1, 215, 216, -1, 218, -1,
-1, 221, 222, -1, -1, -1, 226, 227, 228, 229,
-1, -1, 232, 233, 234, -1, -1, 237, -1, -1,
-1, -1, 242, 243, 244, -1, -1, -1, 248, -1,
-1, -1, 252, 253, -1, 255, 256, -1, -1, -1,
260, -1, 262, -1, -1, 265, 266, -1, -1, 269,
-1, -1, 272, 273, -1, -1, -1, -1, -1, 279,
280, -1, 282, -1, 284, -1, 286, 287, -1, -1,
-1, -1, -1, -1, -1, 295, -1, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, 316, 317, 318, -1,
320, 321, 322, 323, -1, 325, 326, -1, -1, -1,
-1, 331, 332, 333, 334, 335, 336, -1, -1, 339,
340, -1, 342, -1, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, -1, -1, 357, 358, -1,
-1, 361, 362, 363, 364, 365, -1, -1, -1, 369,
370, -1, -1, -1, 374, -1, 376, 377, -1, 379,
380, 381, -1, -1, 384, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 394, 395, 396, -1, 398, -1,
400, -1, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, -1, 415, 416, 417, -1, 419,
-1, 421, 422, 423, 424, 425, -1, 427, 428, 429,
-1, -1, 432, -1, -1, -1, 436, 437, -1, 439,
440, -1, -1, 443, 444, 445, 446, 447, -1, 449,
450, -1, 452, 453, 454, -1, -1, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, -1, 468, 469,
-1, 471, 472, 473, -1, 475, -1, -1, 478, 479,
480, 481, -1, 483, -1, 485, 486, 487, 488, 489,
-1, 491, 492, -1, -1, -1, 496, 497, 498, 499,
-1, -1, -1, 503, -1, -1, -1, 507, -1, 509,
510, 511, 512, -1, 514, 515, 516, 517, 518, -1,
-1, -1, -1, -1, 524, 525, 526, -1, 528, -1,
-1, 531, -1, -1, 534, -1, 536, -1, 538, 539,
540, 541, 542, 543, -1, -1, 546, 547, -1, -1,
550, 551, 552, 553, 554, 555, -1, -1, 558, 559,
560, 561, -1, 563, 564, -1, -1, 567, 568, 569,
570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
-1, -1, -1, -1, -1, 585, 586, -1, -1, -1,
590, 591, 592, -1, -1, 595, 596, -1, 598, 599,
-1, 601, 602, -1, -1, 605, -1, -1, 608, -1,
610, -1, 612, 613, -1, -1, -1, -1, -1, 619,
-1, 621, -1, -1, 624, -1, -1, -1, 628, -1,
630, 631, 632, 633, -1, -1, -1, -1, -1, -1,
640, 641, 642, -1, 644, 645, 646, 647, -1, -1,
650, -1, -1, 653, 654, 655, 656, 657, -1, 659,
-1, -1, -1, -1, -1, -1, -1, -1, 668, 669,
670, -1, 672, 673, 674, -1, 676, -1, -1, 679,
-1, 681, -1, -1, -1, -1, -1, -1, 688, 689,
-1, -1, 692, -1, 694, -1, 696, 697, -1, -1,
-1, 701, 702, 703, 704, 705, 706, 707, 708, -1,
710, 711, 712, 713, 714, 715, 716, 717, 718, 719,
-1, -1, -1, 723, 724, 725, 726, 727, 728, 729,
730, 731, 732, 733, 734, 735, 736, 5, 6, -1,
8, 9, 10, 11, 12, -1, -1, 15, -1, 749,
-1, -1, 20, -1, -1, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, -1, 36, -1,
-1, -1, 40, -1, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, -1, -1, 56, 57,
-1, 59, 60, 61, -1, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
98, -1, -1, -1, -1, 103, -1, -1, 106, -1,
-1, -1, 110, 111, 112, -1, -1, 115, -1, -1,
-1, -1, 120, 121, -1, -1, -1, -1, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, -1, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, -1, -1, 173, 174, 175, 176, 177,
-1, -1, 180, 181, -1, 183, 184, 185, 186, 187,
-1, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, 199, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, -1, -1, 215, 216, -1,
218, -1, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, -1, -1, 232, 233, 234, 235, -1, 237,
-1, -1, -1, -1, 242, 243, 244, -1, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, 263, -1, 265, 266, -1,
-1, 269, -1, -1, 272, 273, -1, 275, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, -1, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, -1, 320, 321, 322, 323, -1, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, -1, 342, -1, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
358, -1, -1, 361, 362, 363, 364, 365, -1, -1,
-1, 369, 370, -1, -1, -1, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, -1, -1, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, -1,
478, 479, 480, 481, -1, 483, -1, 485, 486, 487,
488, 489, -1, 491, 492, 493, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, 519, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, -1, -1, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, -1, -1,
558, 559, 560, 561, -1, 563, 564, -1, -1, 567,
568, 569, 570, -1, -1, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
-1, -1, 590, 591, 592, -1, -1, 595, 596, -1,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, -1, -1,
-1, 619, -1, 621, -1, -1, 624, -1, -1, -1,
628, -1, 630, 631, 632, 633, -1, -1, -1, 637,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, -1, -1, -1,
668, 669, 670, -1, 672, 673, 674, -1, 676, -1,
-1, 679, -1, 681, -1, -1, -1, -1, -1, -1,
688, 689, -1, -1, 692, -1, 694, -1, 696, 697,
-1, -1, -1, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, -1, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, 15,
748, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, -1,
36, -1, -1, -1, 40, -1, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, -1, -1,
56, 57, -1, 59, 60, 61, -1, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
-1, -1, 98, -1, -1, -1, -1, 103, -1, -1,
106, -1, -1, -1, 110, 111, 112, -1, -1, 115,
-1, -1, -1, -1, 120, 121, -1, -1, -1, -1,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
176, 177, -1, -1, 180, 181, -1, 183, 184, 185,
186, 187, -1, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, -1, -1, 215,
216, -1, 218, -1, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, -1, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, -1, 242, 243, 244, -1,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, -1, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, -1, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
-1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
-1, -1, -1, 369, 370, -1, -1, -1, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, -1, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, -1,
-1, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, -1, 478, 479, 480, 481, -1, 483, -1, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, -1, -1,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
-1, -1, 558, 559, 560, 561, -1, 563, 564, -1,
-1, 567, 568, 569, 570, -1, -1, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, -1, -1, 590, 591, 592, -1, -1, 595,
596, -1, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
-1, -1, -1, 619, -1, 621, -1, -1, 624, -1,
-1, -1, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, -1,
-1, -1, 668, 669, 670, -1, 672, 673, 674, -1,
676, -1, -1, 679, -1, 681, -1, -1, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, -1,
696, 697, -1, -1, 700, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, 720, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, 5, 6, -1, 8, 9, 10, 11, 12, -1,
-1, 15, 748, -1, -1, -1, 20, -1, -1, 23,
-1, 25, 26, 27, 28, 29, 30, -1, 32, -1,
-1, -1, 36, -1, -1, -1, 40, -1, -1, 43,
44, 45, -1, 47, -1, 49, 50, -1, -1, 53,
-1, -1, 56, 57, -1, 59, 60, 61, -1, 63,
-1, 65, 66, 67, 68, 69, 70, -1, 72, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, -1, 87, 88, -1, 90, 91, 92, 93,
94, -1, -1, -1, 98, -1, -1, -1, -1, 103,
-1, -1, 106, -1, -1, -1, 110, 111, 112, -1,
-1, 115, -1, -1, -1, -1, 120, 121, -1, -1,
-1, -1, 126, 127, -1, 129, -1, -1, -1, -1,
-1, 135, 136, 137, 138, 139, -1, -1, -1, 143,
-1, -1, 146, 147, 148, -1, -1, -1, 152, -1,
154, 155, -1, 157, 158, 159, -1, -1, 162, 163,
-1, 165, 166, 167, 168, 169, 170, -1, -1, 173,
174, 175, 176, 177, -1, -1, 180, 181, -1, 183,
184, 185, 186, 187, -1, -1, 190, 191, -1, -1,
-1, 195, 196, -1, 198, -1, -1, -1, 202, -1,
204, 205, 206, 207, -1, 209, -1, 211, -1, -1,
-1, 215, 216, -1, 218, -1, -1, 221, 222, -1,
-1, -1, 226, 227, 228, 229, -1, -1, 232, 233,
234, -1, -1, 237, -1, -1, -1, -1, 242, 243,
244, -1, -1, -1, 248, -1, -1, -1, 252, 253,
-1, 255, 256, -1, -1, -1, 260, -1, 262, -1,
-1, 265, 266, -1, -1, 269, -1, -1, 272, 273,
-1, -1, -1, -1, -1, 279, 280, -1, 282, -1,
284, -1, 286, 287, -1, -1, -1, -1, -1, -1,
-1, 295, -1, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, 316, 317, 318, -1, 320, 321, 322, 323,
-1, 325, 326, -1, -1, -1, -1, 331, 332, 333,
334, 335, 336, -1, -1, 339, 340, -1, 342, -1,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, -1, 357, 358, -1, -1, 361, 362, 363,
364, 365, -1, -1, -1, 369, 370, -1, -1, -1,
374, -1, 376, 377, -1, 379, 380, 381, -1, -1,
384, -1, -1, -1, -1, -1, -1, -1, -1, -1,
394, 395, 396, -1, 398, -1, 400, -1, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
-1, 415, 416, 417, -1, 419, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, -1, -1, 432, -1,
-1, -1, 436, 437, -1, 439, 440, -1, -1, 443,
444, 445, 446, 447, -1, 449, 450, -1, 452, 453,
454, -1, -1, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, -1, 468, 469, -1, 471, 472, 473,
-1, 475, -1, -1, 478, 479, 480, 481, -1, 483,
-1, 485, 486, 487, 488, 489, -1, 491, 492, -1,
-1, -1, 496, 497, 498, 499, -1, -1, -1, 503,
-1, -1, -1, 507, -1, 509, 510, 511, 512, -1,
514, 515, 516, 517, 518, -1, -1, -1, -1, -1,
524, 525, 526, -1, 528, -1, -1, 531, -1, -1,
534, -1, 536, -1, 538, 539, 540, 541, 542, 543,
-1, -1, 546, 547, -1, -1, 550, 551, 552, 553,
554, 555, -1, -1, 558, 559, 560, 561, -1, 563,
564, -1, -1, 567, 568, 569, 570, -1, -1, 573,
574, -1, 576, 577, 578, 579, -1, -1, -1, -1,
-1, 585, 586, -1, -1, -1, 590, 591, 592, -1,
-1, 595, 596, -1, 598, 599, -1, 601, 602, -1,
-1, 605, -1, -1, 608, -1, 610, -1, 612, 613,
-1, -1, -1, -1, -1, 619, -1, 621, -1, -1,
624, -1, -1, -1, 628, -1, 630, 631, 632, 633,
-1, -1, -1, -1, -1, -1, 640, 641, 642, -1,
644, 645, 646, 647, -1, -1, 650, -1, -1, 653,
654, 655, 656, 657, -1, 659, -1, -1, -1, -1,
-1, -1, -1, -1, 668, 669, 670, -1, 672, 673,
674, -1, 676, -1, -1, 679, -1, 681, -1, -1,
-1, -1, -1, -1, 688, 689, -1, -1, 692, -1,
694, -1, 696, 697, -1, -1, -1, 701, 702, 703,
704, 705, 706, 707, 708, -1, 710, 711, 712, 713,
714, 715, 716, 717, 718, 719, -1, -1, -1, 723,
724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
734, 735, 736, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, 15, 748, -1, -1, -1, 20, -1,
-1, 23, -1, 25, 26, 27, 28, 29, 30, -1,
32, -1, -1, -1, 36, -1, -1, -1, 40, -1,
-1, 43, 44, 45, -1, 47, -1, 49, 50, -1,
-1, 53, -1, -1, 56, 57, -1, 59, 60, 61,
-1, 63, -1, 65, 66, 67, 68, 69, 70, -1,
72, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, -1, 87, 88, -1, 90, 91,
92, 93, 94, -1, -1, -1, 98, -1, -1, -1,
-1, 103, -1, -1, 106, -1, -1, -1, 110, 111,
112, -1, -1, 115, -1, -1, -1, -1, 120, 121,
-1, -1, -1, -1, 126, 127, -1, 129, -1, -1,
-1, -1, -1, 135, 136, 137, 138, 139, -1, -1,
-1, 143, -1, -1, 146, 147, 148, -1, -1, -1,
152, -1, 154, 155, -1, 157, 158, 159, -1, -1,
162, 163, -1, 165, 166, 167, 168, 169, 170, -1,
-1, 173, 174, 175, 176, 177, -1, -1, 180, 181,
-1, 183, 184, 185, 186, 187, -1, -1, 190, 191,
-1, -1, -1, 195, 196, -1, 198, -1, -1, -1,
202, -1, 204, 205, 206, 207, -1, 209, -1, 211,
-1, -1, -1, 215, 216, -1, 218, -1, -1, 221,
222, -1, -1, -1, 226, 227, 228, 229, -1, -1,
232, 233, 234, -1, -1, 237, -1, -1, -1, -1,
242, 243, 244, -1, -1, -1, 248, -1, -1, -1,
252, 253, -1, 255, 256, -1, -1, -1, 260, -1,
262, -1, -1, 265, 266, -1, -1, 269, -1, -1,
272, 273, -1, -1, -1, -1, -1, 279, 280, -1,
282, -1, 284, -1, 286, 287, -1, -1, -1, -1,
-1, -1, -1, 295, -1, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, -1, 316, 317, 318, -1, 320, 321,
322, 323, -1, 325, 326, -1, -1, -1, -1, 331,
332, 333, 334, 335, 336, -1, -1, 339, 340, -1,
342, -1, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, -1, -1, 357, 358, -1, -1, 361,
362, 363, 364, 365, -1, -1, -1, 369, 370, -1,
-1, -1, 374, -1, 376, 377, -1, 379, 380, 381,
-1, -1, 384, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 394, 395, 396, -1, 398, -1, 400, -1,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, -1, 415, 416, 417, -1, 419, -1, 421,
422, 423, 424, 425, -1, 427, 428, 429, -1, -1,
432, -1, -1, -1, 436, 437, -1, 439, 440, -1,
-1, 443, 444, 445, 446, 447, -1, 449, 450, -1,
452, 453, 454, -1, -1, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, -1, 468, 469, -1, 471,
472, 473, -1, 475, -1, -1, 478, 479, 480, 481,
-1, 483, -1, 485, 486, 487, 488, 489, -1, 491,
492, -1, -1, -1, 496, 497, 498, 499, -1, -1,
-1, 503, -1, -1, -1, 507, -1, 509, 510, 511,
512, -1, 514, 515, 516, 517, 518, -1, -1, -1,
-1, -1, 524, 525, 526, -1, 528, -1, -1, 531,
-1, -1, 534, -1, 536, -1, 538, 539, 540, 541,
542, 543, -1, -1, 546, 547, -1, -1, 550, 551,
552, 553, 554, 555, -1, -1, 558, 559, 560, 561,
-1, 563, 564, -1, -1, 567, 568, 569, 570, -1,
-1, 573, 574, -1, 576, 577, 578, 579, -1, -1,
-1, -1, -1, 585, 586, -1, -1, -1, 590, 591,
592, -1, -1, 595, 596, -1, 598, 599, -1, 601,
602, -1, -1, 605, -1, -1, 608, -1, 610, -1,
612, 613, -1, -1, -1, -1, -1, 619, -1, 621,
-1, -1, 624, -1, -1, -1, 628, -1, 630, 631,
632, 633, -1, -1, -1, -1, -1, -1, 640, 641,
642, -1, 644, 645, 646, 647, -1, -1, 650, -1,
-1, 653, 654, 655, 656, 657, -1, 659, -1, -1,
-1, -1, -1, -1, -1, -1, 668, 669, 670, -1,
672, 673, 674, -1, 676, -1, -1, 679, -1, 681,
-1, -1, -1, -1, -1, -1, 688, 689, -1, -1,
692, -1, 694, -1, 696, 697, -1, -1, -1, 701,
702, 703, 704, 705, 706, 707, 708, -1, 710, 711,
712, 713, 714, 715, 716, 717, 718, 719, -1, -1,
-1, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, 5, 6, -1, 8, 9,
10, 11, 12, -1, -1, 15, 748, -1, -1, -1,
20, -1, -1, 23, -1, 25, 26, 27, 28, 29,
30, -1, 32, -1, -1, -1, 36, -1, -1, -1,
40, -1, -1, 43, 44, 45, -1, 47, -1, 49,
50, -1, -1, 53, -1, -1, 56, 57, -1, 59,
60, 61, -1, 63, -1, 65, 66, 67, 68, 69,
70, -1, 72, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, -1, 87, 88, -1,
90, 91, 92, 93, 94, -1, -1, -1, 98, -1,
-1, -1, -1, 103, -1, -1, 106, -1, -1, -1,
110, 111, 112, -1, -1, 115, -1, -1, -1, -1,
120, 121, -1, -1, -1, -1, 126, 127, -1, 129,
-1, -1, -1, -1, -1, 135, 136, 137, 138, 139,
-1, -1, -1, 143, -1, -1, 146, 147, 148, -1,
-1, -1, 152, -1, 154, 155, -1, 157, 158, 159,
-1, -1, 162, 163, -1, 165, 166, 167, 168, 169,
170, -1, -1, 173, 174, 175, 176, 177, -1, -1,
180, 181, -1, 183, 184, 185, 186, 187, -1, -1,
190, 191, -1, -1, -1, 195, 196, -1, 198, -1,
-1, -1, 202, -1, 204, 205, 206, 207, -1, 209,
-1, 211, -1, -1, -1, 215, 216, -1, 218, -1,
-1, 221, 222, -1, -1, -1, 226, 227, 228, 229,
-1, -1, 232, 233, 234, -1, -1, 237, -1, -1,
-1, -1, 242, 243, 244, -1, -1, -1, 248, -1,
-1, -1, 252, 253, -1, 255, 256, -1, -1, -1,
260, -1, 262, -1, -1, 265, 266, -1, -1, 269,
-1, -1, 272, 273, -1, -1, -1, -1, -1, 279,
280, -1, 282, -1, 284, -1, 286, 287, -1, -1,
-1, -1, -1, -1, -1, 295, -1, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, 316, 317, 318, -1,
320, 321, 322, 323, -1, 325, 326, -1, -1, -1,
-1, 331, 332, 333, 334, 335, 336, -1, -1, 339,
340, -1, 342, -1, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, -1, -1, 357, 358, -1,
-1, 361, 362, 363, 364, 365, -1, -1, -1, 369,
370, -1, -1, -1, 374, -1, 376, 377, -1, 379,
380, 381, -1, -1, 384, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 394, 395, 396, -1, 398, -1,
400, -1, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, -1, 415, 416, 417, -1, 419,
-1, 421, 422, 423, 424, 425, -1, 427, 428, 429,
-1, -1, 432, -1, -1, -1, 436, 437, -1, 439,
440, -1, -1, 443, 444, 445, 446, 447, -1, 449,
450, -1, 452, 453, 454, -1, -1, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, -1, 468, 469,
-1, 471, 472, 473, -1, 475, -1, -1, 478, 479,
480, 481, -1, 483, -1, 485, 486, 487, 488, 489,
-1, 491, 492, -1, -1, -1, 496, 497, 498, 499,
-1, -1, -1, 503, -1, -1, -1, 507, -1, 509,
510, 511, 512, -1, 514, 515, 516, 517, 518, -1,
-1, -1, -1, -1, 524, 525, 526, -1, 528, -1,
-1, 531, -1, -1, 534, -1, 536, -1, 538, 539,
540, 541, 542, 543, -1, -1, 546, 547, -1, -1,
550, 551, 552, 553, 554, 555, -1, -1, 558, 559,
560, 561, -1, 563, 564, -1, -1, 567, 568, 569,
570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
-1, -1, -1, -1, -1, 585, 586, -1, -1, -1,
590, 591, 592, -1, -1, 595, 596, -1, 598, 599,
-1, 601, 602, -1, -1, 605, -1, -1, 608, -1,
610, -1, 612, 613, -1, -1, -1, -1, -1, 619,
-1, 621, -1, -1, 624, -1, -1, -1, 628, -1,
630, 631, 632, 633, -1, -1, -1, -1, -1, -1,
640, 641, 642, -1, 644, 645, 646, 647, -1, -1,
650, -1, -1, 653, 654, 655, 656, 657, -1, 659,
-1, -1, -1, -1, -1, -1, -1, -1, 668, 669,
670, -1, 672, 673, 674, -1, 676, -1, -1, 679,
-1, 681, -1, -1, -1, -1, -1, -1, 688, 689,
-1, -1, 692, -1, 694, -1, 696, 697, -1, -1,
-1, 701, 702, 703, 704, 705, 706, 707, 708, -1,
710, 711, 712, 713, 714, 715, 716, 717, 718, 719,
-1, -1, -1, 723, 724, 725, 726, 727, 728, 729,
730, 731, 732, 733, 734, 735, 736, 5, 6, -1,
8, 9, 10, 11, 12, -1, -1, 15, 748, -1,
-1, -1, 20, -1, -1, 23, -1, 25, 26, 27,
28, 29, 30, -1, 32, -1, -1, -1, 36, -1,
-1, -1, 40, -1, -1, 43, 44, 45, -1, 47,
-1, 49, 50, -1, -1, 53, -1, -1, 56, 57,
-1, 59, 60, 61, -1, 63, -1, 65, 66, 67,
68, 69, 70, -1, 72, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
88, -1, 90, 91, 92, 93, 94, -1, -1, -1,
98, -1, -1, -1, -1, 103, -1, -1, 106, -1,
-1, -1, 110, 111, 112, -1, -1, 115, -1, -1,
-1, -1, 120, 121, -1, -1, -1, -1, 126, 127,
-1, 129, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, -1, -1, -1, 143, -1, -1, 146, 147,
148, -1, -1, -1, 152, -1, 154, 155, -1, 157,
158, 159, -1, -1, 162, 163, -1, 165, 166, 167,
168, 169, 170, -1, -1, 173, 174, 175, 176, 177,
-1, -1, 180, 181, -1, 183, 184, 185, 186, 187,
-1, -1, 190, 191, -1, -1, -1, 195, 196, -1,
198, -1, -1, -1, 202, -1, 204, 205, 206, 207,
-1, 209, -1, 211, -1, -1, -1, 215, 216, -1,
218, -1, -1, 221, 222, -1, -1, -1, 226, 227,
228, 229, -1, -1, 232, 233, 234, -1, -1, 237,
-1, -1, -1, -1, 242, 243, 244, -1, -1, -1,
248, -1, -1, -1, 252, 253, -1, 255, 256, -1,
-1, -1, 260, -1, 262, -1, -1, 265, 266, -1,
-1, 269, -1, -1, 272, 273, -1, -1, -1, -1,
-1, 279, 280, -1, 282, -1, 284, -1, 286, 287,
-1, -1, -1, -1, -1, -1, -1, 295, -1, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, 316, 317,
318, -1, 320, 321, 322, 323, -1, 325, 326, -1,
-1, -1, -1, 331, 332, 333, 334, 335, 336, -1,
-1, 339, 340, -1, 342, -1, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, -1, -1, 357,
358, -1, -1, 361, 362, 363, 364, 365, -1, -1,
-1, 369, 370, -1, -1, -1, 374, -1, 376, 377,
-1, 379, 380, 381, -1, -1, 384, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
398, -1, 400, -1, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, -1, 415, 416, 417,
-1, 419, -1, 421, 422, 423, 424, 425, -1, 427,
428, 429, -1, -1, 432, -1, -1, -1, 436, 437,
-1, 439, 440, -1, -1, 443, 444, 445, 446, 447,
-1, 449, 450, -1, 452, 453, 454, -1, -1, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, -1,
468, 469, -1, 471, 472, 473, -1, 475, -1, -1,
478, 479, 480, 481, -1, 483, -1, 485, 486, 487,
488, 489, -1, 491, 492, -1, -1, -1, 496, 497,
498, 499, -1, -1, -1, 503, -1, -1, -1, 507,
-1, 509, 510, 511, 512, -1, 514, 515, 516, 517,
518, -1, -1, -1, -1, -1, 524, 525, 526, -1,
528, -1, -1, 531, -1, -1, 534, -1, 536, -1,
538, 539, 540, 541, 542, 543, -1, -1, 546, 547,
-1, -1, 550, 551, 552, 553, 554, 555, -1, -1,
558, 559, 560, 561, -1, 563, 564, -1, -1, 567,
568, 569, 570, -1, -1, 573, 574, -1, 576, 577,
578, 579, -1, -1, -1, -1, -1, 585, 586, -1,
-1, -1, 590, 591, 592, -1, -1, 595, 596, -1,
598, 599, -1, 601, 602, -1, -1, 605, -1, -1,
608, -1, 610, -1, 612, 613, -1, -1, -1, -1,
-1, 619, -1, 621, -1, -1, 624, -1, -1, -1,
628, -1, 630, 631, 632, 633, -1, -1, -1, -1,
-1, -1, 640, 641, 642, -1, 644, 645, 646, 647,
-1, -1, 650, -1, -1, 653, 654, 655, 656, 657,
-1, 659, -1, -1, -1, -1, -1, -1, -1, -1,
668, 669, 670, -1, 672, 673, 674, -1, 676, -1,
-1, 679, -1, 681, -1, -1, -1, -1, -1, -1,
688, 689, -1, -1, 692, -1, 694, -1, 696, 697,
-1, -1, -1, 701, 702, 703, 704, 705, 706, 707,
708, -1, 710, 711, 712, 713, 714, 715, 716, 717,
718, 719, -1, -1, -1, 723, 724, 725, 726, 727,
728, 729, 730, 731, 732, 733, 734, 735, 736, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, 15,
748, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, -1,
36, -1, -1, -1, 40, -1, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, -1, -1,
56, 57, -1, 59, 60, 61, -1, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
-1, -1, 98, -1, -1, -1, -1, 103, -1, -1,
106, -1, -1, -1, 110, 111, 112, -1, -1, 115,
-1, -1, -1, -1, 120, 121, -1, -1, -1, -1,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
176, 177, -1, -1, 180, 181, -1, 183, 184, 185,
186, 187, -1, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, -1, -1, 215,
216, -1, 218, -1, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, -1, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, -1, 242, 243, 244, -1,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, -1, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, -1, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
-1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
-1, -1, -1, 369, 370, -1, -1, -1, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, -1, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, -1,
-1, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, -1, 478, 479, 480, 481, -1, 483, -1, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, -1, -1,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
-1, -1, 558, 559, 560, 561, -1, 563, 564, -1,
-1, 567, 568, 569, 570, -1, -1, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, -1, -1, 590, 591, 592, -1, -1, 595,
596, -1, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
-1, -1, -1, 619, -1, 621, -1, -1, 624, -1,
-1, -1, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, -1,
-1, -1, 668, 669, 670, -1, 672, 673, 674, -1,
676, -1, -1, 679, -1, 681, -1, -1, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, -1,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, -1, -1, 5, 6, 742, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, -1, -1, -1, 5,
6, 742, 8, 9, 10, 11, 12, -1, -1, 15,
-1, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, -1,
36, -1, -1, -1, 40, -1, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, -1, -1,
56, 57, -1, 59, 60, 61, -1, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
-1, -1, 98, -1, -1, -1, -1, 103, -1, -1,
106, -1, -1, -1, 110, 111, 112, -1, -1, 115,
-1, -1, -1, -1, 120, 121, -1, -1, -1, -1,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
176, 177, -1, -1, 180, 181, -1, 183, 184, 185,
186, 187, -1, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, -1, -1, 215,
216, -1, 218, -1, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, -1, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, -1, 242, 243, 244, -1,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, -1, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, -1, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
-1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
-1, -1, -1, 369, 370, -1, -1, -1, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, -1, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, -1,
-1, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, -1, 478, 479, 480, 481, -1, 483, -1, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, -1, -1,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
-1, -1, 558, 559, 560, 561, -1, 563, 564, -1,
-1, 567, 568, 569, 570, -1, -1, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, -1, -1, 590, 591, 592, -1, -1, 595,
596, -1, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
-1, -1, -1, 619, -1, 621, -1, -1, 624, -1,
-1, -1, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, -1,
-1, -1, 668, 669, 670, -1, 672, 673, 674, -1,
676, -1, -1, 679, -1, 681, -1, -1, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, -1,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, -1, -1, 5, 6, 742, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, -1, -1, -1, 5,
6, 742, 8, 9, 10, 11, 12, -1, -1, 15,
-1, -1, -1, -1, 20, -1, -1, 23, -1, 25,
26, 27, 28, 29, 30, -1, 32, -1, -1, -1,
36, -1, -1, -1, 40, -1, -1, 43, 44, 45,
-1, 47, -1, 49, 50, -1, -1, 53, -1, -1,
56, 57, -1, 59, 60, 61, -1, 63, -1, 65,
66, 67, 68, 69, 70, -1, 72, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
-1, 87, 88, -1, 90, 91, 92, 93, 94, -1,
-1, -1, 98, -1, -1, -1, -1, 103, -1, -1,
106, -1, -1, -1, 110, 111, 112, -1, -1, 115,
-1, -1, -1, -1, 120, 121, -1, -1, -1, -1,
126, 127, -1, 129, -1, -1, -1, -1, -1, 135,
136, 137, 138, 139, -1, -1, -1, 143, -1, -1,
146, 147, 148, -1, -1, -1, 152, -1, 154, 155,
-1, 157, 158, 159, -1, -1, 162, 163, -1, 165,
166, 167, 168, 169, 170, -1, -1, 173, 174, 175,
176, 177, -1, -1, 180, 181, -1, 183, 184, 185,
186, 187, -1, -1, 190, 191, -1, -1, -1, 195,
196, -1, 198, -1, -1, -1, 202, -1, 204, 205,
206, 207, -1, 209, -1, 211, -1, -1, -1, 215,
216, -1, 218, -1, -1, 221, 222, -1, -1, -1,
226, 227, 228, 229, -1, -1, 232, 233, 234, -1,
-1, 237, -1, -1, -1, -1, 242, 243, 244, -1,
-1, -1, 248, -1, -1, -1, 252, 253, -1, 255,
256, -1, -1, -1, 260, -1, 262, -1, -1, 265,
266, -1, -1, 269, -1, -1, 272, 273, -1, -1,
-1, -1, -1, 279, 280, -1, 282, -1, 284, -1,
286, 287, -1, -1, -1, -1, -1, -1, -1, 295,
-1, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
316, 317, 318, -1, 320, 321, 322, 323, -1, 325,
326, -1, -1, -1, -1, 331, 332, 333, 334, 335,
336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, -1,
-1, 357, 358, -1, -1, 361, 362, 363, 364, 365,
-1, -1, -1, 369, 370, -1, -1, -1, 374, -1,
376, 377, -1, 379, 380, 381, -1, -1, 384, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 394, 395,
396, -1, 398, -1, 400, -1, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, -1, 415,
416, 417, -1, 419, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, -1, -1, 432, -1, -1, -1,
436, 437, -1, 439, 440, -1, -1, 443, 444, 445,
446, 447, -1, 449, 450, -1, 452, 453, 454, -1,
-1, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, -1, 468, 469, -1, 471, 472, 473, -1, 475,
-1, -1, 478, 479, 480, 481, -1, 483, -1, 485,
486, 487, 488, 489, -1, 491, 492, -1, -1, -1,
496, 497, 498, 499, -1, -1, -1, 503, -1, -1,
-1, 507, -1, 509, 510, 511, 512, -1, 514, 515,
516, 517, 518, -1, -1, -1, -1, -1, 524, 525,
526, -1, 528, -1, -1, 531, -1, -1, 534, -1,
536, -1, 538, 539, 540, 541, 542, 543, -1, -1,
546, 547, -1, -1, 550, 551, 552, 553, 554, 555,
-1, -1, 558, 559, 560, 561, -1, 563, 564, -1,
-1, 567, 568, 569, 570, -1, -1, 573, 574, -1,
576, 577, 578, 579, -1, -1, -1, -1, -1, 585,
586, -1, -1, -1, 590, 591, 592, -1, -1, 595,
596, -1, 598, 599, -1, 601, 602, -1, -1, 605,
-1, -1, 608, -1, 610, -1, 612, 613, -1, -1,
-1, -1, -1, 619, -1, 621, -1, -1, 624, -1,
-1, -1, 628, -1, 630, 631, 632, 633, -1, -1,
-1, -1, -1, -1, 640, 641, 642, -1, 644, 645,
646, 647, -1, -1, 650, -1, -1, 653, 654, 655,
656, 657, -1, 659, -1, -1, -1, -1, -1, -1,
-1, -1, 668, 669, 670, -1, 672, 673, 674, -1,
676, -1, -1, 679, -1, 681, -1, -1, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, -1,
696, 697, -1, -1, -1, 701, 702, 703, 704, 705,
706, 707, 708, -1, 710, 711, 712, 713, 714, 715,
716, 717, 718, 719, -1, -1, -1, 723, 724, 725,
726, 727, 728, 729, 730, 731, 732, 733, 734, 735,
736, -1, -1, -1, 5, 6, 742, 8, 9, 10,
11, 12, 13, 14, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, 99, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, 130,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, 144, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, 210,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, 235, -1, 237, -1, -1, -1,
241, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, 274, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, 285, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, -1, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
441, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, 493, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, 506, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, 587, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, 609, 610,
611, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, -1, -1, 710,
711, 712, -1, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, 13, 14, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
99, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, 130, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, 144, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, 210, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, 235, -1, 237, -1,
-1, -1, 241, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, 274, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, 285, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, -1, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, 441, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, 493, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, 506, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, 587, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
609, 610, 611, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, -1,
-1, 710, 711, 712, -1, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, 14, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, 99, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, 130, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, 144, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, 210, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, 235, -1,
237, -1, -1, -1, 241, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, 274, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, 285, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, -1, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, 441, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, 493, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, 506,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
587, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, 609, 610, 611, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, -1, -1, 710, 711, 712, -1, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, 122, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, 188, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, 219, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, 290, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, 366, 367, -1, 369, 370, -1, -1, 373, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, 521, 522, 523, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, 594,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, 18, 19, 20, 21, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, 387, -1, -1, 390, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, 572,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, 648, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, 35, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, 125, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, 160,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, 274, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, 502, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
89, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
199, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, 235, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, 263, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
519, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, 35, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, 125, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, 274, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, 290, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, 373, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, 397, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, 594,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, 35, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, 125, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, 274, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, 572,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, 104, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, 274, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, 104, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, 274, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
37, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, 219, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, 13, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, 274,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, 35, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, 274, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, 572,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, 274, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, 372, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, 35, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, 274, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, 274, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, 372, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, 274,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, 95, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, 172,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, 522, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, 660, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
17, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, 197, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, 125, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, 125, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, 13, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
125, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, 418, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, 170,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, 453, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, 507, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, 713, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, 170, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, 183, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, 453, 454, -1, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, 507, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, 170, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, 183, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, 453, 454, -1, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
507, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, 713, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
125, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, 170, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, 183, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, -1, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, -1, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, 453, 454,
-1, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, -1, 499, -1, -1, -1, 503, -1,
-1, -1, 507, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, -1, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, -1, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, 125, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, 170, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
183, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, -1, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, -1,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
453, 454, -1, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, -1, 499, -1, -1, -1,
503, -1, -1, -1, 507, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
-1, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, -1,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
713, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, 13, -1, 15, -1, -1, -1, -1, 20,
-1, -1, 23, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, 49, 50,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
61, -1, 63, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
121, -1, -1, -1, 125, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, 143, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, -1, 168, 169, -1,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, -1, 184, 185, 186, 187, -1, -1, 190,
191, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, 215, 216, -1, 218, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, 233, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, 244, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, 265, 266, -1, -1, 269, -1,
-1, 272, 273, 274, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, 369, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, 413, -1, 415, 416, 417, -1, 419, -1,
-1, 422, 423, 424, -1, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, -1, 450,
-1, 452, 453, 454, -1, -1, -1, 458, 459, 460,
461, 462, 463, 464, -1, 466, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, 478, 479, 480,
481, -1, 483, -1, 485, 486, 487, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, -1, -1, 509, 510,
511, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, 539, 540,
541, 542, 543, -1, -1, 546, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, -1, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, 572, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, 590,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
601, 602, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, 645, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, 676, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, -1, -1, 710,
711, 712, -1, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, 13, -1, 15, -1, -1, -1,
-1, 20, -1, -1, 23, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
49, 50, -1, -1, 53, -1, -1, 56, 57, -1,
59, 60, 61, -1, 63, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, 93, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, 121, -1, -1, -1, 125, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, 143, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, -1, 168,
169, -1, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, -1, -1, 184, 185, 186, 187, -1,
-1, 190, 191, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, 215, 216, -1, 218,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, -1, -1, 232, 233, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, 244, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, -1, -1,
-1, 260, -1, 262, -1, -1, 265, 266, -1, -1,
269, -1, -1, 272, 273, 274, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, -1, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
369, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, -1, 415, 416, 417, -1,
419, -1, -1, 422, 423, 424, -1, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
-1, 450, -1, 452, 453, 454, -1, -1, -1, 458,
459, 460, 461, 462, 463, 464, -1, 466, -1, 468,
469, -1, 471, 472, 473, -1, 475, -1, -1, 478,
479, 480, 481, -1, 483, -1, 485, 486, 487, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, -1, -1,
509, 510, 511, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
539, 540, 541, 542, 543, -1, -1, 546, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, -1,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, 572, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, 590, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, 601, 602, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, -1, -1, -1,
-1, 640, 641, 642, -1, 644, 645, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, 676, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, -1,
-1, 710, 711, 712, -1, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, 13, -1, 15, -1,
-1, -1, -1, 20, -1, -1, 23, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, 49, 50, -1, -1, 53, -1, -1, 56,
57, -1, 59, 60, 61, -1, 63, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, 93, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, 121, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, 143, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
-1, 168, 169, -1, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, -1, -1, 184, 185, 186,
187, -1, -1, 190, 191, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, 215, 216,
-1, 218, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, -1, -1, 232, 233, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, 244, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
-1, -1, -1, 260, -1, 262, -1, -1, 265, 266,
-1, -1, 269, -1, -1, 272, 273, 274, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, -1, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, 369, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, 413, -1, 415, 416,
417, -1, 419, -1, -1, 422, 423, 424, -1, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, -1, 450, -1, 452, 453, 454, -1, -1,
-1, 458, 459, 460, 461, 462, 463, 464, -1, 466,
-1, 468, 469, -1, 471, 472, 473, -1, 475, -1,
-1, 478, 479, 480, 481, -1, 483, -1, 485, 486,
487, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
-1, -1, 509, 510, 511, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, 539, 540, 541, 542, 543, -1, -1, 546,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, -1, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, 572, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, 590, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, 601, 602, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, -1,
-1, -1, -1, 640, 641, 642, -1, 644, 645, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, 676,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, -1, -1, 710, 711, 712, -1, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, 13, -1,
15, -1, -1, -1, -1, 20, -1, -1, 23, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, 49, 50, -1, -1, 53, -1,
-1, 56, 57, -1, 59, 60, 61, -1, 63, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, 93, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, 121, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, 143, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, -1, 168, 169, -1, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, -1, -1, 184,
185, 186, 187, -1, -1, 190, 191, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
215, 216, -1, 218, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, -1, -1, 232, 233, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, 244,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, -1, -1, -1, 260, -1, 262, -1, -1,
265, 266, -1, -1, 269, -1, -1, 272, 273, 274,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, -1, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, 369, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, -1, 419, -1, -1, 422, 423, 424,
-1, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, -1, 450, -1, 452, 453, 454,
-1, -1, -1, 458, 459, 460, 461, 462, 463, 464,
-1, 466, -1, 468, 469, -1, 471, 472, 473, -1,
475, -1, -1, 478, 479, 480, 481, -1, 483, -1,
485, 486, 487, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, -1, -1, 509, 510, 511, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, 539, 540, 541, 542, 543, -1,
-1, 546, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, -1, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, 572, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, 590, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, 601, 602, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, -1, -1, -1, -1, 640, 641, 642, -1, 644,
645, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, 676, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, -1, -1, 710, 711, 712, -1, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
23, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, 49, 50, -1, -1,
53, -1, -1, 56, 57, -1, 59, 60, 61, -1,
63, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
93, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, 121, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
143, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, -1, 168, 169, -1, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, -1,
-1, 184, 185, 186, 187, -1, -1, 190, 191, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, 215, 216, -1, 218, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, -1, -1, 232,
233, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, 244, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, -1, -1, -1, 260, -1, 262,
-1, -1, 265, 266, -1, -1, 269, -1, -1, 272,
273, 274, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, -1,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, -1, -1, -1, -1, 369, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, -1, 415, 416, 417, -1, 419, -1, -1, 422,
423, 424, -1, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, -1, 450, -1, 452,
453, 454, -1, -1, -1, 458, 459, 460, 461, 462,
463, 464, -1, 466, -1, 468, 469, -1, 471, 472,
473, -1, 475, -1, -1, 478, 479, 480, 481, -1,
483, -1, 485, 486, 487, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, -1, -1, 509, 510, 511, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, 539, 540, 541, 542,
543, -1, -1, 546, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, -1, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, 572,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, 590, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, 601, 602,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, -1, -1, -1, -1, 640, 641, 642,
-1, 644, 645, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, 676, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, -1, -1, 710, 711, 712,
-1, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, -1, -1,
-1, -1, 53, 54, -1, 56, 57, -1, 59, 60,
-1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, -1, 78, -1, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, -1, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
-1, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, -1, -1, -1, 146, 147, 148, -1, 150,
151, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, -1,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, 182, 183, 184, 185, 186, 187, -1, -1, -1,
-1, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, -1, 216, -1, -1, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, 230,
-1, 232, -1, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, -1, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, 257, -1, -1, 260,
-1, 262, -1, -1, -1, 266, -1, -1, 269, 270,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, 292, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, -1, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, -1, -1, -1, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, -1, 454, 455, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, -1, -1, 468, 469, -1,
471, 472, 473, 474, 475, -1, -1, -1, 479, 480,
481, -1, 483, -1, 485, 486, -1, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, -1, -1, -1, 510,
-1, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, -1, 540,
541, 542, 543, -1, -1, -1, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, -1,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
-1, -1, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, 636, -1, -1, -1, 640,
641, 642, -1, 644, -1, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, -1, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, -1, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, -1, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
-1, -1, -1, -1, 53, 54, -1, 56, 57, -1,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, -1, 78,
-1, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, -1, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, -1, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, -1, -1, -1, 146, 147, 148,
-1, 150, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, -1, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, 182, 183, 184, 185, 186, 187, -1,
-1, -1, -1, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, -1, 216, -1, -1,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, 230, -1, 232, -1, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, -1, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, 257, -1,
-1, 260, -1, 262, -1, -1, -1, 266, -1, -1,
269, 270, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, 292, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
-1, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, -1, -1, -1, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, -1, 454, 455, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, -1, 468,
469, -1, 471, 472, 473, 474, 475, -1, -1, -1,
479, 480, 481, -1, 483, -1, 485, 486, -1, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, -1, -1,
-1, 510, -1, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
-1, 540, 541, 542, 543, -1, -1, -1, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, -1, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, -1, -1, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, 634, -1, 636, -1, -1,
-1, 640, 641, 642, -1, 644, -1, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, -1, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, -1, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, -1, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, -1, -1, -1, -1, 53, 54, -1, 56,
57, -1, 59, 60, -1, -1, -1, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
-1, 78, -1, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, -1, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, -1, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, -1, -1, -1, 146,
147, 148, -1, 150, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, -1, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, 182, 183, 184, 185, 186,
187, -1, -1, -1, -1, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, -1, 216,
-1, -1, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, 230, -1, 232, -1, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, -1, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
257, -1, -1, 260, -1, 262, -1, -1, -1, 266,
-1, -1, 269, 270, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, 292, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, -1, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, -1, -1, -1, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, -1, 454, 455, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, -1,
-1, 468, 469, -1, 471, 472, 473, 474, 475, -1,
-1, -1, 479, 480, 481, -1, 483, -1, 485, 486,
-1, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
-1, -1, -1, 510, -1, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, -1, 540, 541, 542, 543, -1, -1, -1,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, -1, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, -1, -1, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, 634, -1, 636,
-1, -1, -1, 640, 641, 642, -1, 644, -1, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, -1,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, -1, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, -1, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, -1, -1, -1, -1, 53, 54,
-1, 56, 57, -1, 59, 60, -1, -1, -1, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, -1, 78, -1, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, -1, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, -1, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, -1, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, 154,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, -1, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, 182, 183, 184,
185, 186, 187, -1, -1, -1, -1, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
-1, 216, -1, -1, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, 230, -1, 232, -1, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, -1,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, 257, -1, -1, 260, -1, 262, -1, -1,
-1, 266, -1, -1, 269, 270, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, 292, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, -1, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, -1, -1,
-1, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, -1, 454,
455, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, -1, 468, 469, -1, 471, 472, 473, 474,
475, -1, -1, -1, 479, 480, 481, -1, 483, -1,
485, 486, -1, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, -1, -1, -1, 510, -1, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, -1, 540, 541, 542, 543, -1,
-1, -1, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, -1, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, -1, -1, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, 636, -1, -1, -1, 640, 641, 642, -1, 644,
-1, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, -1, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, -1, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
-1, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
53, 54, -1, 56, 57, -1, 59, 60, -1, -1,
-1, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, -1, 78, -1, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
-1, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, -1, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
-1, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, 154, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, -1, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, 182,
183, 184, 185, 186, 187, -1, -1, -1, -1, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, -1, 216, -1, -1, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, 230, -1, 232,
-1, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, -1, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, 257, -1, -1, 260, -1, 262,
-1, -1, -1, 266, -1, -1, 269, 270, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, 292,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, -1, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
-1, -1, -1, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
-1, 454, 455, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, -1, -1, 468, 469, -1, 471, 472,
473, 474, 475, -1, -1, -1, 479, 480, 481, -1,
483, -1, 485, 486, -1, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, -1, -1, -1, 510, -1, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, -1, 540, 541, 542,
543, -1, -1, -1, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, -1, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, -1, -1,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, 636, -1, -1, -1, 640, 641, 642,
-1, 644, -1, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, -1, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
-1, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
-1, 32, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, -1, -1,
-1, -1, 53, 54, -1, 56, 57, -1, 59, 60,
-1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, -1, 78, -1, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, -1, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
-1, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, -1, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, 154, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, -1,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, 182, 183, 184, 185, 186, 187, -1, -1, -1,
-1, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, -1, 216, -1, -1, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, 230,
-1, 232, -1, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, -1, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, 257, -1, -1, 260,
-1, 262, -1, -1, -1, 266, -1, -1, 269, 270,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, 292, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, -1, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, -1, -1, -1, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, -1, 454, 455, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, -1, -1, 468, 469, -1,
471, 472, 473, 474, 475, -1, -1, -1, 479, 480,
481, -1, 483, -1, 485, 486, -1, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, -1, -1, -1, 510,
-1, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, -1, 540,
541, 542, 543, -1, -1, -1, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, -1,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
-1, -1, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, 636, -1, -1, -1, 640,
641, 642, -1, 644, -1, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, -1, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, -1, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, 15, -1, -1, -1,
-1, 20, -1, -1, -1, -1, 25, 26, 27, 28,
29, 30, -1, 32, -1, -1, -1, 36, -1, -1,
-1, 40, -1, -1, 43, 44, 45, -1, 47, -1,
-1, -1, -1, -1, 53, 54, -1, 56, 57, -1,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, -1, 72, 73, -1, 75, 76, -1, 78,
-1, 80, 81, 82, 83, 84, 85, -1, 87, 88,
-1, 90, 91, 92, -1, 94, -1, -1, -1, 98,
-1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
-1, 110, 111, 112, -1, -1, 115, -1, -1, -1,
-1, 120, -1, -1, -1, -1, -1, 126, 127, -1,
129, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, -1, -1, -1, -1, -1, -1, 146, 147, 148,
-1, -1, -1, 152, -1, 154, 155, -1, 157, 158,
159, -1, -1, 162, 163, -1, 165, 166, 167, 168,
169, -1, -1, -1, 173, 174, 175, 176, 177, -1,
-1, 180, 181, 182, 183, 184, 185, 186, 187, -1,
-1, -1, -1, -1, -1, -1, 195, 196, -1, 198,
-1, -1, -1, 202, -1, 204, 205, 206, 207, -1,
209, -1, 211, -1, -1, -1, -1, 216, -1, -1,
-1, -1, 221, 222, -1, -1, -1, 226, 227, 228,
229, 230, -1, 232, -1, 234, -1, -1, 237, -1,
-1, -1, -1, 242, 243, -1, -1, -1, -1, 248,
-1, -1, -1, 252, 253, -1, 255, 256, 257, -1,
-1, 260, -1, 262, -1, -1, -1, 266, -1, -1,
269, 270, -1, 272, 273, -1, -1, -1, -1, -1,
279, 280, -1, 282, -1, 284, -1, 286, 287, -1,
-1, -1, -1, 292, -1, -1, 295, -1, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, 316, 317, 318,
-1, 320, 321, 322, 323, -1, 325, 326, -1, -1,
-1, -1, 331, 332, 333, 334, 335, 336, -1, -1,
339, 340, -1, 342, -1, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, -1, 357, 358,
-1, -1, 361, 362, 363, 364, 365, -1, -1, -1,
-1, 370, -1, -1, -1, 374, -1, 376, 377, -1,
379, 380, 381, -1, -1, 384, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 394, 395, 396, -1, 398,
-1, 400, -1, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, -1, -1, -1, 416, 417, -1,
419, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, -1, -1, 432, -1, -1, -1, 436, 437, -1,
439, 440, -1, -1, 443, 444, 445, 446, 447, -1,
449, 450, -1, 452, -1, 454, 455, -1, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, -1, 468,
469, -1, 471, 472, 473, 474, 475, -1, -1, -1,
479, 480, 481, -1, 483, -1, 485, 486, -1, 488,
489, -1, 491, 492, -1, -1, -1, 496, 497, 498,
499, -1, -1, -1, 503, -1, -1, -1, -1, -1,
-1, 510, -1, 512, -1, 514, 515, 516, 517, 518,
-1, -1, -1, -1, -1, 524, 525, 526, -1, 528,
-1, -1, 531, -1, -1, 534, -1, 536, -1, 538,
-1, 540, 541, 542, 543, -1, -1, -1, 547, -1,
-1, 550, 551, 552, 553, 554, 555, -1, -1, 558,
559, 560, 561, -1, 563, 564, -1, -1, 567, 568,
569, 570, -1, -1, 573, 574, -1, 576, 577, 578,
579, -1, -1, -1, -1, -1, 585, 586, -1, -1,
-1, -1, 591, 592, -1, -1, 595, 596, -1, 598,
599, -1, -1, -1, -1, -1, 605, -1, -1, 608,
-1, 610, -1, 612, 613, -1, -1, -1, -1, -1,
619, -1, 621, -1, -1, 624, -1, -1, -1, 628,
-1, 630, 631, 632, 633, -1, -1, 636, -1, -1,
-1, 640, 641, 642, -1, 644, -1, 646, 647, -1,
-1, 650, -1, -1, 653, 654, 655, 656, 657, -1,
659, -1, -1, -1, -1, -1, -1, -1, -1, 668,
669, 670, -1, 672, 673, 674, -1, -1, -1, -1,
679, -1, 681, -1, -1, -1, -1, -1, -1, 688,
689, -1, -1, 692, -1, 694, -1, 696, 697, -1,
-1, -1, 701, 702, 703, 704, 705, 706, 707, 708,
-1, 710, 711, 712, -1, 714, 715, 716, 717, 718,
719, -1, -1, -1, 723, 724, 725, 726, 727, 728,
729, 730, 731, 732, 733, 734, 735, 736, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, 15, -1,
-1, -1, -1, 20, -1, -1, -1, -1, 25, 26,
27, 28, 29, 30, -1, 32, -1, -1, -1, 36,
-1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
47, -1, -1, -1, -1, -1, 53, 54, -1, 56,
57, -1, 59, 60, -1, -1, -1, -1, 65, 66,
67, 68, 69, 70, -1, 72, 73, -1, 75, 76,
-1, 78, -1, 80, 81, 82, 83, 84, 85, -1,
87, 88, -1, 90, 91, 92, -1, 94, -1, -1,
-1, 98, -1, -1, -1, -1, 103, -1, -1, 106,
-1, -1, -1, 110, 111, 112, -1, -1, 115, -1,
-1, -1, -1, 120, -1, -1, -1, -1, -1, 126,
127, -1, 129, -1, -1, -1, -1, -1, 135, 136,
137, 138, 139, -1, -1, -1, -1, -1, -1, 146,
147, 148, -1, -1, -1, 152, -1, 154, 155, -1,
157, 158, 159, -1, -1, 162, 163, -1, 165, 166,
167, 168, 169, -1, -1, -1, 173, 174, 175, 176,
177, -1, -1, 180, 181, 182, 183, 184, 185, 186,
187, -1, -1, -1, -1, -1, -1, -1, 195, 196,
-1, 198, -1, -1, -1, 202, -1, 204, 205, 206,
207, -1, 209, -1, 211, -1, -1, -1, -1, 216,
-1, -1, -1, -1, 221, 222, -1, -1, -1, 226,
227, 228, 229, 230, -1, 232, -1, 234, -1, -1,
237, -1, -1, -1, -1, 242, 243, -1, -1, -1,
-1, 248, -1, -1, -1, 252, 253, -1, 255, 256,
257, -1, -1, 260, -1, 262, -1, -1, -1, 266,
-1, -1, 269, 270, -1, 272, 273, -1, -1, -1,
-1, -1, 279, 280, -1, 282, -1, 284, -1, 286,
287, -1, -1, -1, -1, 292, -1, -1, 295, -1,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, 316,
317, 318, -1, 320, 321, 322, 323, -1, 325, 326,
-1, -1, -1, -1, 331, 332, 333, 334, 335, 336,
-1, -1, 339, 340, -1, 342, -1, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, -1, -1,
357, 358, -1, -1, 361, 362, 363, 364, 365, -1,
-1, -1, -1, 370, -1, -1, -1, 374, -1, 376,
377, -1, 379, 380, 381, -1, -1, 384, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 394, 395, 396,
-1, 398, -1, 400, -1, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, -1, -1, -1, 416,
417, -1, 419, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, -1, -1, 432, -1, -1, -1, 436,
437, -1, 439, 440, -1, -1, 443, 444, 445, 446,
447, -1, 449, 450, -1, 452, -1, 454, 455, -1,
457, 458, 459, 460, 461, 462, 463, 464, -1, -1,
-1, 468, 469, -1, 471, 472, 473, 474, 475, -1,
-1, -1, 479, 480, 481, -1, 483, -1, 485, 486,
-1, 488, 489, -1, 491, 492, -1, -1, -1, 496,
497, 498, 499, -1, -1, -1, 503, -1, -1, -1,
-1, -1, -1, 510, -1, 512, -1, 514, 515, 516,
517, 518, -1, -1, -1, -1, -1, 524, 525, 526,
-1, 528, -1, -1, 531, -1, -1, 534, -1, 536,
-1, 538, -1, 540, 541, 542, 543, -1, -1, -1,
547, -1, -1, 550, 551, 552, 553, 554, 555, -1,
-1, 558, 559, 560, 561, -1, 563, 564, -1, -1,
567, 568, 569, 570, -1, -1, 573, 574, -1, 576,
577, 578, 579, -1, -1, -1, -1, -1, 585, 586,
-1, -1, -1, -1, 591, 592, -1, -1, 595, 596,
-1, 598, 599, -1, -1, -1, -1, -1, 605, -1,
-1, 608, -1, 610, -1, 612, 613, -1, -1, -1,
-1, -1, 619, -1, 621, -1, -1, 624, -1, -1,
-1, 628, -1, 630, 631, 632, 633, -1, -1, 636,
-1, -1, -1, 640, 641, 642, -1, 644, -1, 646,
647, -1, -1, 650, -1, -1, 653, 654, 655, 656,
657, -1, 659, -1, -1, -1, -1, -1, -1, -1,
-1, 668, 669, 670, -1, 672, 673, 674, -1, -1,
-1, -1, 679, -1, 681, -1, -1, -1, -1, -1,
-1, 688, 689, -1, -1, 692, -1, 694, -1, 696,
697, -1, -1, -1, 701, 702, 703, 704, 705, 706,
707, 708, -1, 710, 711, 712, -1, 714, 715, 716,
717, 718, 719, -1, -1, -1, 723, 724, 725, 726,
727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
15, -1, -1, -1, -1, 20, -1, -1, -1, -1,
25, 26, 27, 28, 29, 30, -1, 32, -1, -1,
-1, 36, -1, -1, -1, 40, -1, -1, 43, 44,
45, -1, 47, -1, -1, -1, -1, -1, 53, 54,
-1, 56, 57, -1, 59, 60, -1, -1, -1, -1,
65, 66, 67, 68, 69, 70, -1, 72, 73, -1,
75, 76, -1, 78, -1, 80, 81, 82, 83, 84,
85, -1, 87, 88, -1, 90, 91, 92, -1, 94,
-1, -1, -1, 98, -1, -1, -1, -1, 103, -1,
-1, 106, -1, -1, -1, 110, 111, 112, -1, -1,
115, -1, -1, -1, -1, 120, -1, -1, -1, -1,
-1, 126, 127, -1, 129, -1, -1, -1, -1, -1,
135, 136, 137, 138, 139, -1, -1, -1, -1, -1,
-1, 146, 147, 148, -1, -1, -1, 152, -1, -1,
155, -1, 157, 158, 159, -1, -1, 162, 163, -1,
165, 166, 167, 168, 169, -1, -1, -1, 173, 174,
175, 176, 177, -1, -1, 180, 181, 182, 183, 184,
185, 186, 187, -1, -1, -1, -1, -1, -1, -1,
195, 196, -1, 198, -1, -1, -1, 202, -1, 204,
205, 206, 207, -1, 209, -1, 211, -1, -1, -1,
-1, 216, -1, -1, -1, -1, 221, 222, -1, -1,
-1, 226, 227, 228, 229, 230, -1, 232, -1, 234,
-1, -1, 237, -1, -1, -1, -1, 242, 243, -1,
-1, -1, -1, 248, -1, -1, -1, 252, 253, -1,
255, 256, 257, -1, -1, 260, -1, 262, -1, -1,
-1, 266, -1, -1, 269, 270, -1, 272, 273, -1,
-1, -1, -1, -1, 279, 280, -1, 282, -1, 284,
-1, 286, 287, -1, -1, -1, -1, 292, -1, -1,
295, -1, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
-1, 316, 317, 318, -1, 320, 321, 322, 323, -1,
325, 326, -1, -1, -1, -1, 331, 332, 333, 334,
335, 336, -1, -1, 339, 340, -1, 342, -1, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, -1, 357, 358, -1, -1, 361, 362, 363, 364,
365, -1, -1, -1, -1, 370, -1, -1, -1, 374,
-1, 376, 377, -1, 379, 380, 381, -1, -1, 384,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 394,
395, 396, -1, 398, -1, 400, -1, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, -1, -1,
-1, 416, 417, -1, 419, -1, 421, 422, 423, 424,
425, -1, 427, 428, 429, -1, -1, 432, -1, -1,
-1, 436, 437, -1, 439, 440, -1, -1, 443, 444,
445, 446, 447, -1, 449, 450, -1, 452, -1, 454,
455, -1, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, -1, 468, 469, -1, 471, 472, 473, 474,
475, -1, -1, -1, 479, 480, 481, -1, 483, -1,
485, 486, -1, 488, 489, -1, 491, 492, -1, -1,
-1, 496, 497, 498, 499, -1, -1, -1, 503, -1,
-1, -1, -1, -1, -1, 510, -1, 512, -1, 514,
515, 516, 517, 518, -1, -1, -1, -1, -1, 524,
525, 526, -1, 528, -1, -1, 531, -1, -1, 534,
-1, 536, -1, 538, -1, 540, 541, 542, 543, -1,
-1, -1, 547, -1, -1, 550, 551, 552, 553, 554,
555, -1, -1, 558, 559, 560, 561, -1, 563, 564,
-1, -1, 567, 568, 569, 570, -1, -1, 573, 574,
-1, 576, 577, 578, 579, -1, -1, -1, -1, -1,
585, 586, -1, -1, -1, -1, 591, 592, -1, -1,
595, 596, -1, 598, 599, -1, -1, -1, -1, -1,
605, -1, -1, 608, -1, 610, -1, 612, 613, -1,
-1, -1, -1, -1, 619, -1, 621, -1, -1, 624,
-1, -1, -1, 628, -1, 630, 631, 632, 633, -1,
-1, 636, -1, -1, -1, 640, 641, 642, -1, 644,
-1, 646, 647, -1, -1, 650, -1, -1, 653, 654,
655, 656, 657, -1, 659, -1, -1, -1, -1, -1,
-1, -1, -1, 668, 669, 670, -1, 672, 673, 674,
-1, -1, -1, -1, 679, -1, 681, -1, -1, -1,
-1, -1, -1, 688, 689, -1, -1, 692, -1, 694,
-1, 696, 697, -1, -1, -1, 701, 702, 703, 704,
705, 706, 707, 708, -1, 710, 711, 712, -1, 714,
715, 716, 717, 718, 719, -1, -1, -1, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, 15, -1, -1, -1, -1, 20, -1, -1,
-1, -1, 25, 26, 27, 28, 29, 30, -1, 32,
-1, -1, -1, 36, -1, -1, -1, 40, -1, -1,
43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
53, 54, -1, 56, 57, -1, 59, 60, -1, -1,
-1, -1, 65, 66, 67, 68, 69, 70, -1, 72,
73, -1, 75, 76, -1, 78, -1, 80, 81, 82,
83, 84, 85, -1, 87, 88, -1, 90, 91, 92,
-1, 94, -1, -1, -1, 98, -1, -1, -1, -1,
103, -1, -1, 106, -1, -1, -1, 110, 111, 112,
-1, -1, 115, -1, -1, -1, -1, 120, -1, -1,
-1, -1, -1, 126, 127, -1, 129, -1, -1, -1,
-1, -1, 135, 136, 137, 138, 139, -1, -1, -1,
-1, -1, -1, 146, 147, 148, -1, -1, -1, 152,
-1, -1, 155, -1, 157, 158, 159, -1, -1, 162,
163, -1, 165, 166, 167, 168, 169, -1, -1, -1,
173, 174, 175, 176, 177, -1, -1, 180, 181, 182,
183, 184, 185, 186, 187, -1, -1, -1, -1, -1,
-1, -1, 195, 196, -1, 198, -1, -1, -1, 202,
-1, 204, 205, 206, 207, -1, 209, -1, 211, -1,
-1, -1, -1, 216, -1, -1, -1, -1, 221, 222,
-1, -1, -1, 226, 227, 228, 229, 230, -1, 232,
-1, 234, -1, -1, 237, -1, -1, -1, -1, 242,
243, -1, -1, -1, -1, 248, -1, -1, -1, 252,
253, -1, 255, 256, 257, -1, -1, 260, -1, 262,
-1, -1, -1, 266, -1, -1, 269, 270, -1, 272,
273, -1, -1, -1, -1, -1, 279, 280, -1, 282,
-1, 284, -1, 286, 287, -1, -1, -1, -1, 292,
-1, -1, 295, -1, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, 316, 317, 318, -1, 320, 321, 322,
323, -1, 325, 326, -1, -1, -1, -1, 331, 332,
333, 334, 335, 336, -1, -1, 339, 340, -1, 342,
-1, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, -1, -1, 357, 358, -1, -1, 361, 362,
363, 364, 365, -1, -1, -1, -1, 370, -1, -1,
-1, 374, -1, 376, 377, -1, 379, 380, 381, -1,
-1, 384, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 394, 395, 396, -1, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
-1, -1, -1, 416, 417, -1, 419, -1, 421, 422,
423, 424, 425, -1, 427, 428, 429, -1, -1, 432,
-1, -1, -1, 436, 437, -1, 439, 440, -1, -1,
443, 444, 445, 446, 447, -1, 449, 450, -1, 452,
-1, 454, 455, -1, 457, 458, 459, 460, 461, 462,
463, 464, -1, -1, -1, 468, 469, -1, 471, 472,
473, 474, 475, -1, -1, -1, 479, 480, 481, -1,
483, -1, 485, 486, -1, 488, 489, -1, 491, 492,
-1, -1, -1, 496, 497, 498, 499, -1, -1, -1,
503, -1, -1, -1, -1, -1, -1, 510, -1, 512,
-1, 514, 515, 516, 517, 518, -1, -1, -1, -1,
-1, 524, 525, 526, -1, 528, -1, -1, 531, -1,
-1, 534, -1, 536, -1, 538, -1, 540, 541, 542,
543, -1, -1, -1, 547, -1, -1, 550, 551, 552,
553, 554, 555, -1, -1, 558, 559, 560, 561, -1,
563, 564, -1, -1, 567, 568, 569, 570, -1, -1,
573, 574, -1, 576, 577, 578, 579, -1, -1, -1,
-1, -1, 585, 586, -1, -1, -1, -1, 591, 592,
-1, -1, 595, 596, -1, 598, 599, -1, -1, -1,
-1, -1, 605, -1, -1, 608, -1, 610, -1, 612,
613, -1, -1, -1, -1, -1, 619, -1, 621, -1,
-1, 624, -1, -1, -1, 628, -1, 630, 631, 632,
633, -1, -1, 636, -1, -1, -1, 640, 641, 642,
-1, 644, -1, 646, 647, -1, -1, 650, -1, -1,
653, 654, 655, 656, 657, -1, 659, -1, -1, -1,
-1, -1, -1, -1, -1, 668, 669, 670, -1, 672,
673, 674, -1, -1, -1, -1, 679, -1, 681, -1,
-1, -1, -1, -1, -1, 688, 689, -1, -1, 692,
-1, 694, -1, 696, 697, -1, -1, -1, 701, 702,
703, 704, 705, 706, 707, 708, -1, 710, 711, 712,
-1, 714, 715, 716, 717, 718, 719, -1, -1, -1,
723, 724, 725, 726, 727, 728, 729, 730, 731, 732,
733, 734, 735, 736, 5, 6, -1, 8, 9, 10,
11, 12, -1, -1, 15, -1, -1, -1, -1, 20,
-1, -1, -1, -1, 25, 26, 27, 28, 29, 30,
-1, -1, -1, -1, -1, 36, -1, -1, -1, 40,
-1, -1, 43, 44, 45, -1, 47, -1, -1, -1,
-1, -1, 53, -1, -1, 56, 57, -1, 59, 60,
-1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
-1, 72, 73, -1, 75, 76, -1, 78, -1, 80,
81, 82, 83, 84, 85, -1, 87, 88, -1, 90,
91, 92, -1, 94, -1, -1, -1, 98, -1, -1,
-1, -1, 103, -1, -1, 106, -1, -1, -1, 110,
111, 112, -1, -1, 115, -1, -1, -1, -1, 120,
-1, -1, -1, -1, -1, 126, 127, -1, 129, -1,
-1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
-1, -1, -1, -1, -1, 146, 147, 148, -1, -1,
-1, 152, -1, -1, 155, -1, 157, 158, 159, -1,
-1, 162, 163, -1, 165, 166, 167, 168, 169, -1,
-1, -1, 173, 174, 175, 176, 177, -1, -1, 180,
181, -1, 183, 184, 185, 186, 187, -1, -1, -1,
-1, -1, -1, -1, 195, 196, -1, 198, -1, -1,
-1, 202, -1, 204, 205, 206, 207, -1, 209, -1,
211, -1, -1, -1, -1, 216, -1, -1, -1, -1,
221, 222, -1, -1, -1, 226, 227, 228, 229, -1,
-1, 232, -1, 234, -1, -1, 237, -1, -1, -1,
-1, 242, 243, -1, -1, -1, -1, 248, -1, -1,
-1, 252, 253, -1, 255, 256, -1, -1, -1, 260,
-1, 262, -1, -1, -1, 266, -1, -1, 269, -1,
-1, 272, 273, -1, -1, -1, -1, -1, 279, 280,
-1, 282, -1, 284, -1, 286, 287, -1, -1, -1,
-1, -1, -1, -1, 295, -1, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, 316, 317, 318, -1, 320,
321, 322, 323, -1, 325, 326, -1, -1, -1, -1,
331, 332, 333, 334, 335, 336, -1, -1, 339, 340,
-1, 342, -1, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, -1, -1, 357, 358, -1, -1,
361, 362, 363, 364, 365, -1, -1, -1, -1, 370,
-1, -1, -1, 374, -1, 376, 377, -1, 379, 380,
381, -1, -1, 384, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 394, 395, 396, -1, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, -1, -1, -1, 416, 417, -1, 419, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, -1,
-1, 432, -1, -1, -1, 436, 437, -1, 439, 440,
-1, -1, 443, 444, 445, 446, 447, -1, 449, 450,
-1, 452, -1, 454, -1, -1, 457, 458, 459, 460,
461, 462, 463, 464, -1, -1, -1, 468, 469, -1,
471, 472, 473, -1, 475, -1, -1, -1, 479, 480,
481, -1, 483, -1, 485, 486, -1, 488, 489, -1,
491, 492, -1, -1, -1, 496, 497, 498, 499, -1,
-1, -1, 503, -1, -1, -1, -1, -1, -1, 510,
-1, 512, -1, 514, 515, 516, 517, 518, -1, -1,
-1, -1, -1, 524, 525, 526, -1, 528, -1, -1,
531, -1, -1, 534, -1, 536, -1, 538, -1, 540,
541, 542, 543, -1, -1, -1, 547, -1, -1, 550,
551, 552, 553, 554, 555, -1, -1, 558, 559, 560,
561, -1, 563, 564, -1, -1, 567, 568, 569, 570,
-1, -1, 573, 574, -1, 576, 577, 578, 579, -1,
-1, -1, -1, -1, 585, 586, -1, -1, -1, -1,
591, 592, -1, -1, 595, 596, -1, 598, 599, -1,
-1, -1, -1, -1, 605, -1, -1, 608, -1, 610,
-1, 612, 613, -1, -1, -1, -1, -1, 619, -1,
621, -1, -1, 624, -1, -1, -1, 628, -1, 630,
631, 632, 633, -1, -1, -1, -1, -1, -1, 640,
641, 642, -1, 644, -1, 646, 647, -1, -1, 650,
-1, -1, 653, 654, 655, 656, 657, -1, 659, -1,
-1, -1, -1, -1, -1, -1, -1, 668, 669, 670,
-1, 672, 673, 674, -1, -1, -1, -1, 679, -1,
681, -1, -1, -1, -1, -1, -1, 688, 689, -1,
-1, 692, -1, 694, -1, 696, 697, -1, -1, -1,
701, 702, 703, 704, 705, 706, 707, 708, -1, 710,
711, 712, -1, 714, 715, 716, 717, 718, 719, -1,
-1, -1, 723, 724, 725, 726, 727, 728, 729, 730,
731, 732, 733, 734, 735, 736
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
0, 14, 17, 32, 36, 50, 51, 58, 63, 64,
79, 99, 121, 131, 132, 143, 144, 156, 170, 190,
208, 210, 215, 218, 233, 241, 244, 264, 281, 285,
382, 415, 426, 448, 451, 453, 456, 466, 467, 476,
478, 487, 493, 501, 506, 507, 508, 539, 546, 590,
602, 606, 614, 637, 645, 661, 662, 663, 664, 676,
713, 748, 760, 761, 764, 765, 766, 767, 768, 770,
775, 777, 800, 801, 802, 803, 805, 808, 830, 852,
859, 860, 1092, 1093, 1095, 1097, 1099, 1102, 1104, 1105,
1106, 1107, 1108, 1110, 1111, 1145, 1146, 1147, 1150, 1164,
1166, 1170, 1173, 1174, 1178, 1180, 1185, 1189, 1195, 1196,
1197, 1198, 1199, 1200, 1201, 1328, 1361, 1363, 1364, 1365,
1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375,
1376, 1377, 1378, 1386, 1387, 1405, 1406, 1410, 1414, 1420,
1436, 1437, 1439, 1442, 1451, 1460, 1464, 1466, 1467, 1532,
1534, 1536, 1558, 1564, 1566, 1567, 1568, 1570, 1574, 1576,
1602, 1608, 1609, 1610, 1611, 1647, 1654, 1655, 1657, 1658,
12, 108, 127, 200, 243, 286, 420, 499, 564, 566,
600, 612, 708, 1621, 1622, 1623, 1626, 282, 371, 1179,
1603, 572, 1507, 235, 5, 6, 8, 9, 10, 11,
12, 15, 20, 23, 25, 26, 27, 28, 29, 30,
32, 36, 40, 43, 44, 45, 47, 49, 50, 53,
56, 57, 59, 60, 61, 63, 65, 66, 67, 68,
69, 70, 72, 73, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 87, 88, 90, 91, 92,
93, 94, 98, 103, 106, 110, 111, 112, 115, 120,
121, 126, 127, 129, 135, 136, 137, 138, 139, 143,
146, 147, 148, 152, 154, 155, 157, 158, 159, 162,
163, 165, 166, 167, 168, 169, 170, 173, 174, 175,
176, 177, 180, 181, 183, 184, 185, 186, 187, 190,
191, 195, 196, 198, 202, 204, 205, 206, 207, 209,
211, 215, 216, 218, 221, 222, 226, 227, 228, 229,
232, 233, 234, 237, 242, 243, 244, 248, 252, 253,
255, 256, 260, 262, 265, 266, 269, 272, 273, 279,
280, 282, 284, 286, 287, 295, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 316, 317, 318, 320, 321, 322,
323, 325, 326, 331, 332, 333, 334, 335, 336, 339,
340, 342, 344, 346, 347, 348, 349, 350, 351, 352,
353, 354, 357, 358, 361, 362, 363, 364, 365, 369,
370, 374, 376, 377, 379, 380, 381, 384, 394, 395,
396, 398, 400, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 413, 415, 416, 417, 419, 421, 422,
423, 424, 425, 427, 428, 429, 432, 436, 437, 439,
440, 443, 444, 445, 446, 447, 449, 450, 452, 453,
454, 457, 458, 459, 460, 461, 462, 463, 464, 466,
468, 469, 471, 472, 473, 475, 478, 479, 480, 481,
483, 485, 486, 487, 488, 489, 491, 492, 496, 497,
498, 499, 503, 507, 509, 510, 511, 512, 514, 515,
516, 517, 518, 524, 525, 526, 528, 531, 534, 536,
538, 539, 540, 541, 542, 543, 546, 547, 550, 551,
552, 553, 554, 555, 558, 559, 560, 561, 563, 564,
567, 568, 569, 570, 573, 574, 576, 577, 578, 579,
585, 586, 590, 591, 592, 595, 596, 598, 599, 601,
602, 605, 608, 610, 612, 613, 619, 621, 624, 628,
630, 631, 632, 633, 640, 641, 642, 644, 645, 646,
647, 650, 653, 654, 655, 656, 657, 659, 668, 669,
670, 672, 673, 674, 676, 679, 681, 688, 689, 692,
694, 696, 697, 701, 702, 703, 704, 705, 706, 707,
708, 710, 711, 712, 713, 714, 715, 716, 717, 718,
719, 723, 724, 725, 726, 727, 728, 729, 730, 731,
732, 733, 734, 735, 736, 824, 1504, 1513, 1523, 1524,
1525, 1527, 1528, 1531, 316, 457, 563, 566, 1560, 1560,
641, 1604, 108, 199, 286, 390, 499, 519, 564, 569,
600, 604, 612, 654, 708, 1069, 1382, 1618, 1622, 1623,
1624, 1625, 1626, 1362, 108, 167, 200, 235, 286, 420,
499, 519, 564, 587, 600, 612, 628, 654, 708, 1382,
1513, 1179, 103, 536, 861, 13, 14, 99, 130, 144,
167, 170, 183, 210, 235, 241, 274, 285, 421, 425,
441, 449, 457, 493, 506, 507, 558, 587, 609, 611,
1504, 1507, 1514, 1518, 1525, 1528, 1529, 1531, 1580, 1581,
1502, 1513, 776, 566, 128, 220, 293, 1388, 407, 659,
87, 428, 1465, 111, 235, 647, 1468, 243, 1560, 1179,
1513, 1461, 487, 612, 1560, 1179, 128, 293, 1389, 1409,
653, 1452, 522, 849, 853, 854, 1513, 13, 425, 1580,
1604, 1513, 13, 140, 220, 527, 528, 530, 531, 532,
549, 1206, 1207, 1208, 1616, 61, 62, 125, 209, 282,
352, 404, 498, 585, 653, 654, 672, 708, 752, 1044,
1504, 1516, 1524, 1525, 1527, 1528, 1530, 1533, 1543, 1548,
1549, 1421, 853, 204, 511, 585, 204, 511, 566, 1415,
407, 659, 243, 1565, 1513, 660, 1329, 1330, 1513, 32,
79, 154, 415, 437, 478, 539, 1650, 8, 23, 29,
35, 37, 38, 39, 41, 54, 55, 61, 62, 69,
72, 96, 97, 102, 104, 107, 108, 113, 114, 115,
120, 122, 125, 171, 178, 179, 188, 195, 205, 207,
213, 219, 226, 230, 241, 245, 271, 279, 290, 319,
324, 335, 339, 341, 345, 346, 347, 348, 349, 356,
366, 368, 372, 373, 397, 409, 410, 412, 427, 455,
456, 475, 477, 484, 485, 491, 544, 545, 552, 556,
557, 562, 572, 576, 577, 578, 579, 588, 589, 590,
594, 597, 612, 616, 617, 618, 620, 625, 627, 632,
633, 650, 665, 666, 671, 677, 678, 680, 683, 684,
685, 686, 687, 691, 693, 695, 740, 741, 746, 748,
752, 756, 757, 1042, 1199, 1224, 1228, 1231, 1233, 1234,
1235, 1236, 1237, 1244, 1245, 1246, 1267, 1268, 1488, 1490,
1492, 1493, 1494, 1499, 1501, 1504, 1513, 1613, 1615, 1504,
401, 963, 748, 1614, 1615, 243, 282, 1196, 1197, 1199,
1328, 0, 156, 762, 415, 104, 274, 612, 1118, 1507,
1513, 1517, 1519, 1520, 1592, 1594, 608, 1148, 1162, 246,
1359, 388, 603, 1341, 1342, 276, 603, 1342, 1347, 1198,
1199, 130, 609, 17, 195, 1440, 1502, 1513, 160, 1122,
1513, 160, 824, 449, 480, 1569, 212, 824, 1517, 1513,
1502, 564, 230, 1381, 212, 167, 1101, 1621, 1560, 1604,
1186, 1187, 1502, 748, 831, 754, 583, 185, 1379, 1502,
1379, 19, 1605, 230, 992, 235, 212, 456, 1517, 235,
717, 1513, 564, 992, 992, 212, 235, 566, 1617, 1617,
1621, 1626, 367, 742, 1216, 1217, 1220, 1221, 1222, 1224,
1496, 1513, 1381, 1381, 1381, 1513, 212, 1381, 1381, 717,
1513, 1381, 564, 1381, 1381, 1381, 212, 1560, 771, 1443,
135, 419, 1579, 481, 481, 564, 569, 612, 628, 654,
654, 385, 748, 1595, 563, 378, 1595, 67, 511, 1595,
109, 628, 1595, 752, 1595, 378, 583, 753, 381, 68,
433, 754, 1517, 197, 231, 1141, 1513, 1507, 1656, 1220,
246, 85, 293, 1470, 194, 1559, 1560, 197, 35, 316,
1426, 1462, 1513, 1182, 1520, 1181, 1560, 246, 1390, 1381,
1454, 316, 511, 1453, 1455, 621, 850, 501, 855, 1579,
378, 197, 378, 583, 1605, 1216, 1208, 501, 654, 754,
35, 125, 160, 502, 1045, 1398, 1517, 194, 583, 1398,
255, 433, 1550, 1551, 1553, 1555, 13, 125, 365, 1518,
1521, 1588, 212, 752, 1517, 35, 125, 1047, 1048, 1517,
754, 125, 585, 1539, 1547, 1549, 753, 1540, 1398, 36,
61, 72, 97, 99, 109, 158, 163, 166, 176, 198,
200, 209, 211, 282, 316, 381, 408, 419, 420, 423,
424, 444, 498, 511, 547, 566, 631, 1044, 1422, 1426,
1427, 1429, 1430, 1431, 1544, 855, 447, 534, 1159, 1160,
1161, 433, 637, 1151, 1152, 1153, 1159, 1502, 1513, 1656,
1560, 1329, 753, 748, 1331, 37, 219, 572, 1489, 1508,
1649, 1649, 1649, 96, 1648, 1649, 1649, 748, 748, 748,
1231, 748, 748, 748, 1220, 1280, 748, 748, 748, 748,
748, 748, 748, 748, 1219, 1219, 748, 1030, 748, 748,
748, 572, 748, 748, 748, 1614, 748, 748, 748, 748,
748, 748, 748, 748, 748, 1220, 748, 748, 748, 1278,
1279, 1499, 1513, 748, 748, 748, 748, 748, 748, 748,
748, 748, 1030, 748, 748, 748, 748, 748, 748, 748,
748, 748, 748, 748, 748, 748, 748, 748, 748, 1030,
572, 748, 748, 748, 572, 748, 748, 748, 37, 219,
572, 748, 1219, 1030, 1030, 748, 748, 748, 748, 748,
748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
748, 748, 748, 748, 748, 1231, 1231, 1231, 1197, 1199,
1220, 752, 1269, 1517, 1513, 141, 156, 345, 504, 505,
738, 739, 740, 741, 742, 743, 744, 745, 1231, 71,
389, 1508, 259, 652, 748, 754, 748, 48, 156, 156,
197, 111, 749, 749, 749, 751, 1513, 1219, 748, 138,
228, 752, 125, 138, 228, 1590, 465, 753, 1597, 300,
301, 445, 446, 524, 525, 526, 798, 1163, 612, 1154,
1155, 146, 392, 752, 1357, 1358, 1360, 1517, 48, 13,
140, 1612, 1346, 1347, 290, 373, 594, 1348, 1349, 1490,
1513, 1612, 1346, 194, 285, 1209, 1210, 1211, 1341, 1209,
1342, 1347, 231, 293, 429, 1412, 1413, 1409, 160, 194,
1195, 1386, 1387, 1405, 1410, 1438, 1441, 1489, 1513, 333,
570, 596, 1094, 1520, 1098, 1513, 1517, 1513, 1096, 384,
7, 26, 84, 144, 237, 323, 370, 451, 630, 932,
933, 946, 947, 948, 954, 956, 957, 1427, 7, 12,
14, 17, 27, 28, 58, 63, 64, 69, 77, 83,
84, 87, 96, 111, 125, 129, 137, 138, 144, 152,
158, 169, 192, 233, 235, 242, 262, 285, 322, 340,
344, 382, 388, 395, 404, 436, 451, 452, 453, 483,
540, 541, 542, 547, 564, 567, 590, 603, 637, 640,
725, 726, 727, 993, 996, 998, 999, 1051, 1123, 1124,
1126, 1127, 1129, 1131, 1132, 1133, 1134, 1136, 1138, 1513,
171, 1513, 824, 533, 1627, 1628, 1100, 1379, 249, 753,
235, 263, 401, 1066, 1192, 1193, 1220, 1276, 1277, 1513,
778, 779, 176, 429, 753, 1165, 59, 176, 180, 194,
331, 429, 1175, 1176, 1177, 57, 369, 369, 448, 1606,
366, 367, 1227, 1513, 1513, 1513, 519, 193, 1513, 709,
7, 926, 1513, 1520, 1591, 1593, 1588, 1513, 1513, 992,
11, 167, 200, 420, 587, 811, 1620, 1628, 1634, 1636,
1637, 1642, 200, 811, 1619, 1628, 1634, 1637, 1642, 1617,
1220, 753, 18, 19, 21, 387, 390, 572, 648, 1218,
1225, 1226, 1512, 1513, 160, 161, 201, 214, 254, 267,
294, 359, 1229, 33, 249, 275, 442, 517, 722, 1227,
754, 1513, 824, 1513, 378, 1513, 824, 1517, 709, 954,
956, 1383, 1384, 1385, 824, 1513, 1520, 1587, 1379, 1588,
1513, 1381, 615, 772, 35, 158, 162, 202, 222, 287,
383, 419, 443, 468, 512, 543, 1444, 1448, 1449, 1560,
86, 752, 862, 863, 864, 865, 1513, 1577, 563, 1513,
1596, 1520, 1517, 200, 420, 566, 1578, 1587, 1581, 21,
1322, 1323, 186, 363, 1513, 1571, 1513, 1656, 1390, 516,
753, 50, 282, 1469, 30, 1502, 1561, 1562, 1379, 752,
769, 1507, 287, 753, 583, 1183, 1184, 1502, 1379, 1502,
1513, 1457, 1456, 753, 1508, 56, 66, 76, 90, 91,
92, 106, 334, 351, 489, 551, 568, 856, 858, 753,
1575, 1520, 1587, 1578, 487, 1607, 1606, 197, 1202, 1203,
1359, 13, 365, 1588, 1513, 71, 1050, 1220, 1520, 733,
572, 1510, 273, 380, 643, 753, 1554, 753, 1552, 658,
1535, 752, 753, 1513, 209, 282, 498, 653, 672, 1546,
1398, 1513, 1550, 1540, 1398, 1541, 1542, 1543, 1548, 13,
35, 125, 378, 484, 709, 1220, 1557, 166, 275, 635,
1326, 1435, 748, 108, 167, 200, 420, 566, 587, 612,
628, 1435, 13, 1517, 1346, 197, 249, 1428, 1432, 198,
70, 543, 194, 543, 563, 70, 543, 13, 43, 94,
98, 253, 332, 396, 518, 560, 1416, 1417, 1418, 166,
222, 543, 543, 1346, 1435, 287, 157, 422, 586, 234,
235, 261, 1068, 73, 563, 543, 624, 753, 380, 643,
88, 753, 194, 799, 1330, 1332, 1513, 21, 753, 379,
1652, 559, 1653, 646, 258, 471, 1651, 1220, 1220, 13,
140, 1274, 1324, 1274, 1274, 1274, 634, 1282, 1220, 1220,
1277, 1277, 1220, 1220, 140, 1274, 1324, 749, 373, 749,
749, 1220, 1220, 1220, 1220, 1499, 116, 117, 118, 119,
120, 223, 224, 225, 226, 335, 337, 338, 339, 346,
427, 490, 491, 632, 649, 650, 1319, 1320, 1220, 1276,
112, 115, 576, 579, 1321, 140, 1270, 1220, 1220, 1220,
1220, 1319, 1220, 1277, 1279, 10, 753, 754, 140, 1274,
1220, 1220, 140, 1274, 1220, 1220, 1277, 1277, 1277, 1220,
1277, 1224, 1220, 1220, 1220, 1220, 1220, 1220, 749, 1220,
1274, 1274, 1220, 1220, 140, 1274, 1220, 1320, 1320, 1220,
46, 268, 584, 1220, 1220, 749, 1500, 1501, 1513, 1274,
1274, 1220, 1220, 1220, 1274, 1274, 1277, 749, 749, 1220,
1220, 1220, 1220, 1220, 1231, 749, 749, 749, 749, 753,
209, 282, 498, 1545, 502, 1220, 1224, 1224, 1224, 1224,
1224, 1224, 245, 1224, 245, 1224, 1224, 1224, 1224, 1224,
1517, 1231, 1508, 1508, 1220, 1241, 1242, 1243, 1513, 1220,
277, 280, 430, 964, 965, 1520, 136, 156, 763, 749,
729, 48, 1517, 654, 729, 48, 637, 65, 256, 365,
535, 553, 644, 1584, 1585, 1520, 1592, 637, 1115, 160,
160, 160, 160, 160, 160, 753, 160, 1149, 404, 1156,
572, 1509, 1509, 1517, 753, 1220, 1343, 1497, 1199, 1200,
1209, 377, 753, 1199, 1200, 1209, 503, 609, 1212, 249,
1211, 1346, 1346, 1209, 197, 1380, 1503, 1513, 1412, 1141,
1517, 87, 990, 991, 998, 999, 1000, 1051, 825, 369,
316, 7, 825, 748, 110, 943, 1398, 1399, 1399, 943,
1399, 1399, 583, 753, 995, 158, 74, 89, 199, 401,
519, 1008, 1010, 1066, 1140, 1399, 64, 235, 1140, 401,
1399, 1399, 1140, 1399, 401, 401, 1399, 1399, 1399, 1399,
583, 136, 1399, 261, 401, 564, 64, 193, 401, 418,
1066, 1140, 261, 1399, 401, 401, 564, 136, 1399, 1399,
1399, 1399, 1399, 1140, 401, 48, 1399, 1399, 401, 21,
74, 160, 583, 1066, 1144, 401, 401, 1399, 1399, 1399,
1399, 139, 332, 1399, 1399, 401, 1399, 619, 619, 1399,
996, 71, 1044, 450, 963, 1125, 753, 753, 501, 710,
1662, 1103, 492, 628, 1628, 144, 609, 1172, 125, 1188,
1513, 1187, 1502, 748, 748, 1193, 749, 753, 232, 295,
296, 297, 298, 299, 302, 303, 304, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 317, 318, 711,
712, 732, 734, 735, 736, 793, 794, 798, 458, 459,
460, 461, 462, 463, 464, 780, 781, 1502, 610, 1176,
57, 448, 171, 804, 378, 7, 717, 111, 378, 992,
943, 614, 927, 7, 228, 125, 753, 807, 592, 592,
615, 1081, 1082, 1502, 200, 992, 824, 1513, 824, 824,
1628, 1217, 1512, 1513, 1220, 1220, 1220, 179, 372, 589,
605, 1227, 13, 20, 1222, 1230, 1224, 748, 1614, 1231,
1224, 275, 667, 1223, 33, 249, 275, 442, 742, 1513,
754, 1502, 1383, 1381, 995, 934, 935, 936, 954, 753,
52, 470, 1142, 192, 1668, 1379, 752, 773, 774, 287,
287, 287, 287, 287, 287, 753, 1379, 1450, 115, 576,
579, 857, 867, 1268, 1492, 1499, 1517, 753, 160, 378,
749, 753, 583, 742, 1513, 1522, 1586, 637, 1582, 1513,
160, 186, 201, 214, 266, 267, 294, 363, 417, 1572,
1573, 1325, 1326, 1502, 1507, 1507, 1190, 1191, 1502, 236,
1323, 753, 1517, 31, 583, 1463, 1520, 1520, 753, 583,
176, 429, 613, 1167, 1168, 1169, 401, 1291, 1292, 583,
1459, 13, 1458, 1455, 753, 160, 210, 378, 197, 1586,
1513, 145, 700, 720, 748, 757, 1204, 1205, 1283, 1285,
1293, 1294, 1295, 1296, 1297, 1298, 1299, 1502, 1614, 1325,
1202, 583, 583, 583, 35, 1049, 1517, 583, 1398, 456,
1109, 1109, 433, 454, 496, 1556, 1553, 1551, 1588, 1517,
1521, 194, 754, 754, 754, 754, 754, 1549, 1220, 1557,
753, 1547, 249, 1433, 1508, 1220, 742, 992, 824, 824,
824, 1502, 824, 1520, 1502, 287, 350, 543, 1425, 1425,
1435, 1513, 824, 1435, 1520, 1428, 824, 1435, 252, 561,
181, 194, 1419, 753, 1433, 799, 1428, 1428, 1432, 1432,
1428, 1435, 1435, 1161, 514, 1153, 60, 749, 753, 1614,
1489, 405, 194, 753, 749, 1274, 749, 1220, 749, 749,
749, 1220, 150, 634, 1281, 21, 749, 615, 749, 749,
749, 615, 753, 1277, 749, 742, 749, 753, 753, 749,
749, 749, 197, 753, 749, 753, 1277, 749, 753, 753,
753, 741, 753, 749, 749, 748, 1499, 1513, 1274, 749,
749, 749, 1274, 749, 753, 749, 749, 749, 749, 753,
749, 249, 749, 753, 753, 749, 753, 753, 749, 749,
749, 753, 197, 753, 1274, 749, 749, 753, 753, 753,
749, 197, 1220, 197, 1220, 197, 1220, 197, 749, 753,
749, 749, 749, 749, 753, 21, 749, 753, 749, 753,
749, 749, 690, 1252, 1252, 749, 753, 1247, 749, 1247,
753, 749, 1252, 1252, 1252, 1277, 754, 754, 754, 1517,
1220, 758, 1220, 1220, 1218, 749, 753, 748, 754, 749,
73, 748, 73, 748, 402, 967, 216, 263, 755, 1399,
404, 572, 733, 13, 365, 1588, 404, 572, 733, 1510,
1517, 572, 572, 572, 19, 1583, 320, 321, 325, 326,
1116, 1117, 5, 404, 1112, 1113, 1114, 1505, 1507, 122,
188, 290, 373, 594, 1353, 1505, 122, 188, 219, 290,
373, 594, 1351, 1507, 1507, 798, 1507, 799, 160, 126,
1157, 1044, 1046, 1358, 22, 131, 1344, 1345, 753, 1349,
1349, 667, 668, 670, 1213, 1214, 1215, 503, 1209, 1209,
1380, 1502, 1513, 197, 753, 754, 1411, 1205, 122, 188,
219, 290, 373, 594, 1352, 1355, 1356, 991, 84, 77,
93, 265, 343, 369, 431, 533, 827, 829, 478, 263,
598, 945, 108, 221, 394, 404, 411, 515, 612, 809,
810, 1507, 931, 932, 219, 290, 373, 594, 958, 1354,
1355, 1504, 1507, 931, 958, 958, 1513, 933, 1399, 1089,
1513, 1066, 1067, 1179, 1067, 64, 193, 418, 604, 1009,
1065, 1080, 1089, 1513, 748, 1513, 125, 1137, 1513, 1513,
1513, 1513, 1179, 1353, 1351, 1513, 1351, 13, 1130, 1318,
1513, 1179, 1507, 1507, 1507, 1507, 1044, 1399, 1351, 1130,
1513, 263, 1318, 263, 1513, 1513, 1517, 1513, 1130, 1399,
186, 266, 369, 1002, 1351, 125, 1139, 1513, 1353, 1353,
1513, 1179, 1339, 1340, 1500, 125, 997, 1351, 1507, 1179,
1513, 1513, 1502, 1179, 1179, 80, 82, 125, 148, 187,
440, 1001, 997, 997, 125, 1351, 1513, 1351, 1130, 748,
372, 1517, 1399, 1399, 403, 7, 144, 993, 1133, 1134,
1127, 1131, 1134, 718, 719, 944, 1399, 707, 1666, 378,
819, 1119, 127, 248, 1502, 673, 673, 1130, 418, 1314,
1315, 1316, 1513, 249, 1220, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 753, 799, 160, 160, 160, 160, 160, 160,
160, 753, 799, 989, 990, 1502, 945, 709, 642, 1502,
1354, 286, 77, 177, 184, 364, 928, 929, 930, 946,
947, 948, 949, 952, 953, 954, 955, 956, 957, 943,
48, 637, 654, 1591, 1597, 1399, 47, 216, 486, 1084,
1084, 378, 21, 231, 275, 456, 748, 959, 960, 961,
962, 963, 994, 996, 1197, 1199, 1395, 1472, 1513, 824,
748, 473, 1643, 9, 31, 924, 179, 372, 589, 605,
1614, 19, 1220, 165, 1224, 748, 1224, 748, 1614, 1231,
1224, 754, 1513, 1135, 1136, 1138, 1354, 1385, 995, 1520,
1142, 1517, 753, 799, 1449, 1445, 865, 868, 869, 864,
374, 485, 866, 1578, 1513, 1587, 754, 754, 583, 655,
1325, 748, 1346, 1291, 753, 1192, 1193, 1509, 293, 433,
643, 1563, 1562, 1220, 1507, 583, 1184, 1502, 1169, 748,
501, 620, 621, 748, 1391, 1392, 1394, 1395, 1396, 1354,
799, 858, 857, 385, 1578, 1587, 197, 748, 1614, 1205,
1285, 1294, 1295, 1296, 1297, 731, 753, 100, 238, 258,
271, 355, 477, 549, 1286, 1287, 1288, 1291, 1323, 212,
1336, 1325, 1588, 1588, 1588, 733, 1510, 1510, 728, 1589,
1589, 78, 595, 433, 1352, 1537, 1538, 1398, 1542, 1507,
197, 1434, 749, 1513, 615, 1435, 428, 1346, 1418, 1434,
1435, 1435, 1502, 1502, 1435, 1505, 1513, 753, 336, 245,
1220, 749, 1251, 1252, 1251, 1251, 1251, 575, 1220, 1220,
154, 35, 62, 112, 115, 123, 142, 189, 260, 354,
357, 435, 509, 579, 607, 1019, 1023, 1275, 1045, 1045,
1275, 749, 1251, 749, 245, 245, 1220, 1220, 1220, 388,
1272, 1220, 1220, 1220, 1220, 1220, 1224, 749, 1251, 749,
1251, 1220, 1220, 1220, 1220, 1220, 1220, 1277, 1251, 1251,
245, 1220, 1220, 1220, 749, 1251, 1220, 1220, 1220, 1220,
197, 1220, 197, 1220, 197, 1220, 1220, 1251, 1251, 1220,
35, 62, 1351, 1274, 1251, 748, 1253, 1254, 1255, 1513,
231, 694, 1249, 1490, 1493, 749, 1249, 749, 1231, 1252,
749, 754, 1090, 1319, 1319, 1243, 1276, 1513, 156, 748,
1224, 748, 1224, 1352, 555, 968, 748, 12, 966, 1351,
1509, 1109, 404, 456, 404, 1589, 21, 48, 1584, 1351,
1351, 1351, 1351, 1117, 285, 606, 174, 465, 704, 705,
1114, 1507, 160, 406, 1158, 1045, 73, 1473, 1497, 1380,
669, 1214, 342, 615, 1323, 754, 1205, 1503, 742, 1513,
501, 1399, 1507, 533, 533, 533, 533, 533, 492, 378,
1507, 940, 941, 942, 946, 954, 956, 1507, 1507, 1507,
1507, 1351, 1507, 1507, 749, 753, 1517, 1089, 402, 748,
1089, 748, 263, 263, 1067, 367, 1011, 1012, 1013, 1080,
748, 615, 592, 1004, 1005, 1006, 1008, 1513, 34, 35,
40, 42, 44, 45, 62, 112, 115, 123, 159, 187,
189, 205, 206, 247, 260, 279, 288, 289, 291, 328,
329, 330, 347, 348, 349, 354, 357, 375, 376, 409,
410, 497, 501, 513, 573, 576, 579, 580, 581, 582,
622, 623, 650, 1014, 1017, 1018, 1019, 1020, 1021, 1022,
1023, 1025, 1013, 656, 657, 1083, 144, 501, 1130, 1513,
1175, 753, 1352, 125, 1045, 1507, 564, 1513, 1142, 637,
564, 1507, 1014, 1130, 753, 1344, 1130, 583, 583, 1318,
1130, 1450, 1049, 1045, 934, 373, 1663, 1664, 1399, 137,
152, 1667, 81, 488, 451, 1120, 1331, 378, 378, 749,
749, 753, 1188, 748, 1351, 1505, 1351, 1351, 1505, 1505,
1351, 1351, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
1351, 1351, 1505, 1493, 1505, 1351, 1505, 1507, 1351, 372,
797, 1519, 794, 748, 782, 782, 748, 787, 787, 748,
790, 790, 748, 785, 781, 748, 439, 599, 937, 938,
939, 946, 950, 951, 952, 953, 954, 956, 1354, 1517,
748, 806, 212, 1399, 1399, 1399, 1399, 995, 934, 733,
1510, 1517, 1588, 1115, 612, 709, 1661, 1502, 1395, 1502,
275, 1004, 961, 960, 995, 962, 473, 812, 1638, 123,
247, 435, 550, 1003, 748, 130, 241, 609, 925, 1222,
749, 753, 1231, 1231, 19, 1220, 165, 742, 1138, 1136,
936, 774, 194, 637, 1446, 160, 753, 1586, 637, 1599,
742, 742, 1513, 1587, 385, 1346, 125, 1220, 1402, 1403,
501, 1391, 1392, 1191, 1502, 1193, 231, 1194, 1471, 1472,
643, 282, 1520, 1317, 1318, 1407, 1408, 1500, 749, 1393,
1495, 1496, 1500, 1513, 748, 1397, 1400, 160, 197, 1586,
1587, 1220, 1323, 753, 749, 749, 749, 749, 749, 1283,
1284, 1285, 1293, 1283, 258, 258, 391, 1290, 238, 271,
477, 1289, 1290, 1293, 1283, 1283, 1323, 1331, 48, 217,
1327, 1336, 1109, 1109, 103, 995, 1557, 1353, 1423, 163,
631, 1587, 373, 1424, 1428, 1428, 1351, 1220, 749, 1251,
1220, 575, 748, 1034, 1035, 1035, 748, 1029, 748, 1027,
1028, 1034, 414, 1024, 1026, 1034, 62, 247, 1029, 247,
1035, 721, 1232, 749, 749, 749, 1251, 1251, 1220, 1220,
749, 749, 753, 749, 48, 495, 1271, 753, 753, 749,
753, 749, 249, 1238, 1239, 1251, 1251, 749, 749, 749,
749, 753, 749, 749, 1220, 749, 194, 749, 749, 753,
1251, 749, 753, 753, 749, 1220, 749, 1220, 749, 1220,
749, 749, 749, 748, 1056, 1056, 753, 749, 1254, 1256,
1257, 688, 688, 1252, 753, 1248, 1248, 1249, 1252, 1249,
749, 1513, 749, 970, 1513, 749, 970, 749, 48, 748,
972, 1224, 160, 748, 228, 1589, 1109, 1510, 456, 1589,
219, 1507, 1511, 733, 1510, 125, 245, 361, 103, 125,
1352, 245, 1507, 160, 153, 164, 386, 571, 1474, 1475,
278, 1476, 1205, 1291, 1513, 1325, 754, 1411, 1407, 1507,
111, 111, 127, 248, 162, 995, 810, 748, 1352, 401,
973, 974, 748, 1220, 1089, 730, 748, 748, 1086, 1087,
1088, 1513, 1084, 1084, 749, 753, 1014, 1034, 1034, 1035,
23, 35, 49, 601, 626, 1034, 1044, 1052, 1053, 1054,
1029, 748, 1054, 62, 622, 1020, 1054, 1054, 62, 623,
623, 626, 748, 1035, 1029, 1029, 1054, 1034, 1035, 441,
1007, 1059, 27, 71, 75, 77, 125, 367, 372, 378,
418, 497, 547, 604, 706, 1010, 1013, 1037, 1038, 1039,
1050, 1058, 1227, 35, 1034, 1055, 1034, 1034, 1035, 748,
1028, 1036, 1027, 125, 125, 1014, 1513, 1050, 1050, 566,
9, 186, 1143, 1340, 1513, 1513, 246, 1167, 749, 740,
995, 373, 740, 1665, 1668, 367, 416, 25, 168, 813,
583, 137, 152, 815, 1629, 1318, 1318, 1315, 795, 796,
1351, 749, 783, 784, 1513, 749, 788, 789, 1513, 1522,
749, 791, 792, 1505, 1506, 748, 749, 786, 1087, 1399,
1399, 995, 806, 384, 1087, 353, 714, 715, 716, 1513,
1507, 958, 958, 1352, 930, 404, 21, 48, 1112, 1662,
748, 1502, 749, 996, 1003, 378, 832, 833, 834, 1513,
516, 1644, 378, 1277, 749, 1222, 749, 753, 1231, 1447,
433, 56, 66, 76, 90, 91, 92, 106, 334, 351,
472, 489, 551, 568, 870, 869, 583, 210, 637, 1598,
749, 753, 1407, 378, 1404, 1404, 1194, 269, 246, 749,
753, 1398, 1394, 1395, 749, 753, 754, 1401, 1402, 753,
857, 1587, 197, 753, 1331, 1283, 758, 258, 1290, 1290,
258, 258, 378, 615, 378, 615, 192, 231, 614, 1309,
1310, 1311, 1312, 1313, 1220, 1337, 1498, 1220, 698, 1333,
1327, 1589, 1589, 404, 1352, 1346, 1346, 1325, 1435, 1319,
1220, 122, 290, 373, 594, 1054, 373, 373, 749, 1319,
1319, 1220, 1273, 1497, 1489, 749, 1220, 1220, 1277, 44,
355, 749, 637, 1240, 1220, 1319, 1220, 1220, 1220, 1220,
749, 749, 749, 1352, 749, 749, 1351, 1251, 749, 401,
1258, 1220, 1252, 1252, 197, 1250, 749, 753, 749, 965,
973, 749, 1352, 969, 970, 48, 1589, 1589, 1510, 1589,
404, 456, 1589, 1352, 125, 723, 125, 1352, 1507, 48,
48, 153, 48, 1475, 537, 571, 1477, 1478, 1325, 1325,
1325, 942, 1087, 1513, 749, 753, 1087, 749, 748, 1087,
1220, 749, 753, 748, 1344, 1005, 1007, 35, 23, 601,
1044, 35, 1054, 1045, 1091, 1489, 1054, 626, 1091, 1054,
509, 607, 651, 1031, 1032, 1033, 1502, 1143, 1049, 125,
148, 187, 1040, 1507, 115, 576, 579, 740, 741, 748,
1042, 1043, 1491, 1492, 609, 125, 125, 139, 332, 1041,
263, 1354, 1009, 71, 1039, 203, 1015, 263, 372, 724,
1055, 1054, 1055, 1031, 373, 1031, 1031, 748, 1491, 1143,
1502, 1513, 748, 373, 1664, 373, 416, 1220, 1220, 378,
819, 824, 378, 77, 820, 21, 637, 1171, 749, 753,
749, 753, 749, 753, 754, 749, 753, 784, 749, 753,
749, 958, 958, 939, 748, 749, 1505, 1505, 1505, 1505,
1511, 733, 1510, 1666, 1087, 749, 959, 516, 488, 749,
753, 1017, 1507, 239, 249, 393, 835, 836, 837, 838,
1502, 749, 1277, 175, 285, 1587, 385, 210, 21, 1601,
1325, 1403, 1404, 147, 566, 1408, 1403, 1394, 1395, 1495,
1513, 749, 1400, 1587, 1507, 749, 258, 258, 1220, 748,
1220, 748, 1066, 1066, 1310, 639, 753, 1338, 1254, 1334,
1335, 1333, 799, 749, 749, 749, 749, 749, 749, 753,
749, 749, 749, 753, 1251, 749, 753, 749, 342, 265,
428, 749, 749, 749, 749, 749, 749, 1057, 753, 48,
388, 1259, 186, 266, 1249, 1513, 216, 263, 749, 749,
1507, 1589, 1589, 1510, 120, 120, 1489, 1489, 48, 1489,
48, 48, 1478, 1341, 1341, 749, 620, 975, 974, 749,
1085, 1086, 749, 749, 77, 262, 1076, 1077, 1078, 1079,
1082, 1083, 1088, 373, 1045, 1055, 749, 753, 749, 1033,
748, 1060, 1493, 1493, 1220, 1042, 621, 1049, 15, 21,
1220, 1128, 1129, 973, 1319, 511, 1507, 143, 1121, 1395,
1630, 373, 796, 784, 789, 1513, 792, 753, 748, 637,
1070, 1071, 1072, 1079, 809, 1073, 1074, 1075, 1079, 228,
404, 1667, 749, 1507, 813, 1639, 834, 1050, 749, 753,
1513, 194, 749, 1598, 385, 1520, 1346, 263, 1502, 73,
1300, 1317, 1317, 194, 1308, 1308, 1498, 21, 753, 373,
1497, 1220, 342, 173, 749, 1351, 1337, 48, 430, 482,
682, 1260, 1266, 1252, 748, 966, 111, 465, 1659, 1660,
1589, 1489, 1489, 1489, 276, 1350, 1350, 1070, 249, 272,
77, 111, 235, 322, 340, 364, 564, 986, 987, 988,
1427, 1073, 749, 753, 1076, 1344, 1507, 1399, 1078, 749,
1054, 1489, 1054, 1061, 1513, 319, 1062, 749, 748, 749,
749, 814, 821, 822, 637, 1631, 674, 784, 784, 398,
1135, 1072, 749, 1135, 1075, 48, 1076, 818, 819, 473,
1645, 837, 1017, 149, 1601, 637, 1600, 609, 1291, 748,
749, 749, 749, 212, 258, 388, 748, 748, 1255, 1335,
749, 749, 749, 1343, 33, 103, 245, 697, 1261, 1262,
1263, 1490, 1493, 1224, 748, 136, 369, 535, 1349, 748,
977, 979, 574, 1399, 136, 136, 1399, 1399, 1399, 1399,
748, 983, 988, 158, 1059, 1086, 1351, 1344, 749, 753,
198, 400, 510, 378, 1063, 1220, 538, 816, 54, 68,
182, 230, 257, 270, 381, 474, 823, 874, 876, 877,
878, 880, 881, 882, 883, 884, 885, 887, 895, 896,
899, 910, 913, 915, 916, 1504, 1515, 1526, 1527, 1528,
1531, 53, 64, 282, 749, 753, 1504, 1354, 1135, 815,
1017, 826, 1050, 484, 654, 1407, 1046, 701, 1301, 1302,
1513, 1323, 48, 48, 1314, 1316, 245, 697, 1262, 1264,
1490, 1493, 484, 1220, 692, 679, 1265, 692, 692, 749,
970, 1399, 535, 748, 978, 979, 980, 327, 976, 979,
1507, 1399, 1399, 1354, 1354, 1352, 1513, 555, 984, 985,
1399, 1513, 130, 609, 749, 1220, 155, 817, 897, 900,
1513, 197, 363, 888, 875, 1515, 1515, 1513, 879, 765,
292, 455, 636, 919, 32, 917, 755, 64, 385, 64,
784, 820, 1050, 134, 827, 828, 1227, 1646, 191, 413,
1632, 1633, 13, 125, 365, 1588, 482, 1479, 703, 749,
753, 194, 1017, 749, 749, 1220, 681, 19, 681, 681,
1319, 103, 212, 369, 696, 554, 971, 749, 1509, 749,
753, 327, 981, 982, 1224, 1507, 1507, 1517, 749, 753,
1517, 52, 369, 470, 501, 1064, 1064, 548, 629, 1016,
1220, 1220, 634, 902, 906, 197, 1513, 890, 891, 1220,
840, 873, 874, 876, 878, 880, 882, 883, 884, 885,
887, 895, 910, 913, 915, 840, 920, 918, 911, 914,
385, 385, 749, 143, 1640, 134, 873, 1517, 1635, 1535,
228, 1473, 1507, 1302, 702, 1050, 1319, 1264, 692, 484,
689, 1352, 971, 1660, 979, 749, 753, 986, 985, 6,
125, 372, 378, 378, 1037, 898, 907, 150, 906, 909,
246, 154, 1220, 154, 873, 751, 608, 1220, 841, 919,
917, 821, 826, 873, 48, 1476, 1300, 171, 1303, 681,
982, 609, 130, 634, 901, 903, 1220, 840, 154, 886,
230, 892, 292, 751, 922, 921, 124, 839, 842, 912,
1515, 912, 1641, 1489, 231, 1480, 703, 1064, 1064, 904,
903, 909, 908, 54, 889, 1513, 575, 1220, 143, 95,
172, 845, 871, 1513, 154, 873, 751, 873, 373, 748,
1482, 1507, 1220, 154, 575, 753, 840, 923, 840, 215,
753, 1017, 86, 105, 751, 278, 482, 1481, 749, 752,
1483, 1484, 1500, 501, 1485, 125, 162, 372, 1304, 1305,
1306, 1307, 905, 54, 840, 1513, 893, 154, 154, 194,
1513, 1050, 194, 194, 1517, 749, 753, 1486, 1487, 1500,
1507, 1306, 1307, 1305, 1307, 378, 575, 150, 151, 894,
455, 636, 843, 125, 872, 848, 849, 1351, 844, 1484,
753, 1398, 378, 378, 162, 699, 840, 840, 890, 521,
523, 846, 847, 848, 851, 1227, 1513, 1220, 1195, 1487,
1403, 753, 873, 196, 847
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
0, 759, 760, 760, 760, 760, 760, 761, 762, 761,
761, 763, 763, 764, 764, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 765, 765, 765, 765,
765, 765, 765, 765, 765, 765, 766, 767, 767, 768,
769, 769, 771, 770, 772, 772, 773, 773, 774, 776,
775, 778, 777, 779, 777, 780, 780, 781, 781, 781,
781, 781, 781, 781, 782, 782, 783, 783, 784, 785,
785, 786, 786, 787, 787, 788, 788, 789, 790, 790,
791, 791, 792, 793, 793, 794, 794, 794, 794, 794,
794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
794, 794, 794, 795, 795, 795, 796, 797, 797, 798,
798, 798, 798, 799, 799, 800, 800, 800, 800, 801,
802, 804, 803, 803, 803, 803, 803, 803, 803, 805,
805, 806, 806, 806, 806, 806, 807, 807, 808, 808,
808, 809, 809, 810, 810, 810, 810, 810, 810, 810,
812, 811, 814, 813, 813, 815, 815, 815, 815, 816,
816, 817, 817, 818, 818, 819, 819, 820, 820, 822,
821, 823, 823, 823, 823, 823, 823, 823, 823, 823,
823, 823, 823, 823, 824, 824, 825, 825, 826, 826,
827, 827, 827, 827, 827, 827, 827, 828, 828, 828,
829, 829, 830, 831, 831, 832, 832, 833, 833, 834,
835, 835, 836, 836, 837, 838, 838, 838, 838, 839,
839, 840, 840, 841, 841, 842, 842, 843, 842, 844,
842, 845, 845, 846, 846, 847, 848, 848, 849, 850,
850, 851, 851, 851, 851, 851, 852, 853, 853, 854,
854, 855, 855, 856, 856, 857, 857, 857, 858, 858,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
859, 860, 861, 861, 861, 862, 862, 863, 863, 864,
865, 865, 866, 866, 867, 868, 868, 869, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870, 870, 870,
870, 871, 871, 872, 872, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873, 875, 874,
877, 876, 879, 878, 881, 880, 882, 883, 884, 886,
885, 887, 888, 888, 888, 889, 889, 891, 892, 893,
890, 894, 894, 894, 895, 895, 897, 898, 896, 900,
899, 901, 901, 902, 902, 904, 905, 903, 907, 908,
906, 909, 909, 911, 910, 912, 912, 914, 913, 916,
915, 918, 917, 919, 920, 921, 919, 922, 923, 919,
924, 924, 925, 925, 925, 926, 926, 927, 927, 928,
928, 929, 929, 930, 930, 930, 930, 930, 930, 930,
930, 930, 930, 931, 931, 932, 932, 933, 933, 933,
933, 933, 933, 934, 934, 935, 935, 936, 937, 937,
938, 938, 939, 939, 939, 939, 939, 939, 939, 940,
940, 941, 941, 942, 942, 942, 943, 944, 944, 945,
946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
956, 956, 957, 958, 958, 959, 959, 960, 960, 961,
961, 961, 962, 962, 963, 964, 964, 964, 964, 964,
964, 965, 965, 966, 966, 967, 967, 968, 968, 968,
969, 969, 970, 970, 971, 971, 972, 972, 973, 973,
974, 975, 975, 975, 976, 976, 977, 977, 978, 978,
980, 979, 981, 981, 982, 982, 983, 983, 984, 984,
985, 986, 986, 987, 987, 988, 988, 988, 988, 988,
988, 988, 988, 989, 989, 990, 990, 991, 991, 991,
992, 992, 993, 993, 994, 994, 995, 995, 996, 996,
996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
996, 996, 996, 996, 996, 996, 996, 996, 996, 997,
997, 998, 999, 1000, 1001, 1001, 1001, 1001, 1001, 1001,
1002, 1002, 1002, 1003, 1003, 1003, 1003, 1004, 1004, 1005,
1005, 1006, 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008,
1009, 1010, 1010, 1011, 1011, 1012, 1012, 1013, 1014, 1014,
1015, 1015, 1016, 1016, 1016, 1017, 1017, 1017, 1017, 1017,
1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1017, 1017, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
1019, 1019, 1020, 1020, 1021, 1021, 1021, 1021, 1021, 1022,
1022, 1022, 1022, 1022, 1023, 1023, 1024, 1024, 1025, 1025,
1025, 1025, 1026, 1026, 1027, 1027, 1027, 1028, 1029, 1029,
1030, 1030, 1030, 1031, 1031, 1032, 1032, 1033, 1033, 1033,
1034, 1034, 1034, 1034, 1035, 1035, 1036, 1036, 1037, 1037,
1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
1040, 1040, 1040, 1041, 1041, 1041, 1042, 1043, 1043, 1044,
1044, 1045, 1045, 1046, 1046, 1047, 1047, 1048, 1048, 1049,
1049, 1050, 1050, 1051, 1051, 1052, 1052, 1052, 1053, 1053,
1053, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055,
1057, 1056, 1058, 1058, 1059, 1060, 1060, 1061, 1061, 1062,
1062, 1062, 1062, 1063, 1063, 1063, 1063, 1063, 1064, 1064,
1064, 1064, 1064, 1065, 1065, 1066, 1066, 1067, 1067, 1068,
1068, 1068, 1069, 1069, 1070, 1070, 1071, 1071, 1072, 1072,
1073, 1073, 1074, 1074, 1075, 1076, 1076, 1077, 1077, 1078,
1078, 1079, 1079, 1079, 1080, 1080, 1080, 1081, 1081, 1082,
1082, 1083, 1083, 1084, 1084, 1084, 1085, 1085, 1086, 1086,
1087, 1087, 1088, 1088, 1089, 1089, 1090, 1090, 1091, 1091,
1092, 1092, 1094, 1093, 1096, 1095, 1098, 1097, 1100, 1099,
1101, 1099, 1103, 1102, 1104, 1105, 1105, 1105, 1105, 1106,
1107, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109,
1110, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1114, 1114,
1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115,
1115, 1116, 1116, 1117, 1117, 1117, 1117, 1118, 1119, 1119,
1119, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123,
1124, 1124, 1125, 1125, 1126, 1126, 1126, 1126, 1127, 1127,
1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128,
1129, 1129, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1132,
1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1135, 1135,
1135, 1135, 1135, 1136, 1137, 1137, 1138, 1139, 1139, 1140,
1140, 1141, 1141, 1142, 1142, 1142, 1143, 1143, 1143, 1144,
1144, 1144, 1144, 1145, 1145, 1146, 1146, 1147, 1149, 1148,
1150, 1151, 1151, 1152, 1152, 1153, 1153, 1153, 1154, 1155,
1155, 1156, 1156, 1157, 1157, 1158, 1158, 1159, 1159, 1160,
1160, 1161, 1161, 1162, 1162, 1163, 1163, 1163, 1163, 1163,
1164, 1165, 1165, 1165, 1166, 1167, 1167, 1168, 1168, 1169,
1169, 1169, 1170, 1171, 1171, 1172, 1172, 1172, 1173, 1174,
1175, 1175, 1176, 1176, 1177, 1177, 1177, 1177, 1177, 1177,
1178, 1179, 1179, 1179, 1181, 1180, 1180, 1182, 1182, 1183,
1183, 1184, 1185, 1185, 1186, 1186, 1187, 1188, 1188, 1189,
1189, 1190, 1190, 1191, 1192, 1193, 1193, 1194, 1194, 1195,
1195, 1195, 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197,
1197, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1200, 1201,
1201, 1202, 1202, 1203, 1204, 1204, 1205, 1205, 1206, 1206,
1207, 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1211, 1211,
1211, 1212, 1212, 1213, 1214, 1214, 1215, 1215, 1216, 1216,
1216, 1217, 1217, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1220, 1221, 1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222,
1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
1222, 1222, 1222, 1223, 1223, 1224, 1224, 1224, 1224, 1224,
1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
1225, 1225, 1226, 1226, 1227, 1227, 1228, 1228, 1229, 1229,
1229, 1229, 1229, 1229, 1229, 1230, 1230, 1231, 1231, 1231,
1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
1232, 1232, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234,
1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
1234, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
1235, 1235, 1235, 1235, 1236, 1236, 1236, 1236, 1236, 1236,
1236, 1237, 1237, 1238, 1238, 1239, 1239, 1240, 1240, 1241,
1241, 1242, 1242, 1243, 1244, 1244, 1245, 1245, 1245, 1245,
1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
1245, 1245, 1245, 1245, 1245, 1245, 1245, 1246, 1246, 1246,
1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247, 1247,
1247, 1248, 1248, 1249, 1249, 1249, 1250, 1250, 1250, 1251,
1251, 1252, 1253, 1253, 1254, 1255, 1256, 1257, 1257, 1258,
1258, 1259, 1259, 1260, 1260, 1261, 1261, 1262, 1262, 1262,
1262, 1262, 1263, 1264, 1264, 1264, 1264, 1264, 1265, 1265,
1265, 1265, 1265, 1266, 1266, 1266, 1267, 1268, 1269, 1269,
1269, 1270, 1270, 1271, 1271, 1272, 1272, 1273, 1273, 1274,
1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
1275, 1275, 1275, 1275, 1276, 1276, 1277, 1277, 1278, 1278,
1279, 1279, 1280, 1280, 1281, 1281, 1282, 1282, 1283, 1283,
1283, 1284, 1284, 1285, 1285, 1285, 1285, 1285, 1285, 1286,
1286, 1286, 1287, 1287, 1287, 1287, 1288, 1288, 1289, 1289,
1290, 1290, 1291, 1291, 1292, 1293, 1293, 1293, 1293, 1293,
1293, 1294, 1294, 1295, 1295, 1296, 1297, 1297, 1298, 1298,
1299, 1300, 1301, 1301, 1302, 1302, 1302, 1303, 1303, 1304,
1304, 1304, 1304, 1304, 1305, 1306, 1307, 1307, 1307, 1308,
1308, 1308, 1308, 1309, 1309, 1310, 1310, 1311, 1311, 1312,
1312, 1313, 1314, 1314, 1315, 1315, 1316, 1316, 1317, 1318,
1318, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319,
1319, 1319, 1319, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1320, 1320, 1321, 1321, 1321, 1321, 1322, 1322, 1323, 1323,
1324, 1324, 1325, 1325, 1326, 1327, 1327, 1328, 1328, 1329,
1329, 1330, 1331, 1331, 1332, 1332, 1333, 1333, 1334, 1334,
1335, 1336, 1336, 1337, 1337, 1338, 1338, 1339, 1339, 1340,
1341, 1341, 1342, 1343, 1343, 1344, 1344, 1345, 1345, 1346,
1346, 1347, 1348, 1348, 1348, 1349, 1349, 1349, 1349, 1349,
1350, 1350, 1351, 1351, 1351, 1351, 1351, 1351, 1352, 1352,
1352, 1352, 1352, 1353, 1353, 1353, 1353, 1353, 1354, 1354,
1354, 1354, 1354, 1355, 1356, 1356, 1357, 1357, 1358, 1358,
1359, 1360, 1360, 1360, 1361, 1362, 1363, 1364, 1365, 1366,
1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375,
1376, 1377, 1378, 1379, 1379, 1380, 1380, 1381, 1381, 1382,
1382, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386, 1386,
1387, 1387, 1387, 1388, 1388, 1388, 1388, 1389, 1389, 1390,
1390, 1391, 1391, 1391, 1392, 1392, 1392, 1393, 1393, 1394,
1395, 1395, 1396, 1396, 1397, 1397, 1398, 1398, 1399, 1399,
1400, 1401, 1401, 1402, 1402, 1403, 1403, 1404, 1404, 1405,
1406, 1406, 1407, 1407, 1408, 1409, 1409, 1410, 1410, 1410,
1411, 1411, 1412, 1412, 1413, 1413, 1413, 1414, 1415, 1415,
1416, 1416, 1417, 1417, 1418, 1418, 1418, 1418, 1418, 1418,
1418, 1418, 1418, 1419, 1419, 1421, 1420, 1422, 1422, 1422,
1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1423,
1422, 1424, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
1422, 1422, 1422, 1422, 1425, 1425, 1425, 1426, 1426, 1427,
1427, 1428, 1428, 1429, 1429, 1430, 1430, 1431, 1431, 1431,
1431, 1432, 1432, 1433, 1433, 1434, 1434, 1435, 1435, 1435,
1436, 1437, 1438, 1438, 1438, 1438, 1438, 1438, 1439, 1439,
1440, 1440, 1440, 1441, 1441, 1441, 1443, 1442, 1445, 1444,
1444, 1446, 1446, 1447, 1446, 1448, 1448, 1449, 1449, 1449,
1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1450,
1450, 1452, 1451, 1451, 1453, 1453, 1454, 1454, 1456, 1455,
1457, 1455, 1458, 1458, 1459, 1459, 1461, 1460, 1462, 1463,
1463, 1464, 1465, 1465, 1465, 1466, 1467, 1468, 1468, 1469,
1469, 1470, 1470, 1470, 1471, 1471, 1472, 1472, 1473, 1473,
1474, 1474, 1475, 1475, 1475, 1475, 1476, 1476, 1477, 1477,
1478, 1478, 1479, 1479, 1480, 1480, 1481, 1481, 1482, 1482,
1482, 1483, 1483, 1484, 1484, 1485, 1485, 1486, 1486, 1487,
1488, 1488, 1488, 1488, 1489, 1489, 1489, 1490, 1491, 1491,
1491, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1492, 1493, 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1495,
1495, 1496, 1496, 1497, 1498, 1499, 1499, 1500, 1500, 1501,
1501, 1502, 1502, 1503, 1503, 1504, 1504, 1505, 1506, 1507,
1508, 1509, 1510, 1511, 1511, 1512, 1513, 1513, 1514, 1514,
1515, 1515, 1516, 1516, 1517, 1517, 1517, 1518, 1518, 1518,
1519, 1519, 1520, 1520, 1521, 1521, 1522, 1523, 1523, 1523,
1523, 1523, 1524, 1524, 1524, 1525, 1525, 1525, 1525, 1525,
1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525,
1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525,
1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1525,
1526, 1526, 1526, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
1527, 1527, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528,
1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1529,
1529, 1529, 1530, 1530, 1530, 1530, 1531, 1531, 1531, 1531,
1531, 1532, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1534,
1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535, 1536, 1536,
1537, 1537, 1538, 1539, 1539, 1540, 1540, 1541, 1541, 1542,
1542, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544,
1545, 1545, 1545, 1545, 1546, 1546, 1546, 1546, 1546, 1546,
1547, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549,
1549, 1550, 1550, 1551, 1552, 1552, 1553, 1554, 1554, 1555,
1555, 1556, 1556, 1556, 1556, 1557, 1557, 1557, 1557, 1557,
1557, 1557, 1559, 1558, 1558, 1560, 1560, 1561, 1561, 1562,
1563, 1563, 1563, 1563, 1565, 1564, 1564, 1566, 1567, 1568,
1569, 1569, 1569, 1570, 1570, 1570, 1570, 1570, 1571, 1571,
1572, 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1574,
1574, 1575, 1574, 1574, 1574, 1576, 1576, 1577, 1576, 1576,
1578, 1578, 1578, 1578, 1579, 1579, 1580, 1580, 1581, 1581,
1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
1581, 1581, 1582, 1582, 1583, 1583, 1584, 1584, 1585, 1585,
1585, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1588, 1588,
1589, 1589, 1590, 1590, 1591, 1591, 1591, 1591, 1591, 1591,
1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
1592, 1593, 1593, 1594, 1594, 1595, 1595, 1596, 1596, 1597,
1597, 1597, 1597, 1597, 1598, 1598, 1599, 1599, 1600, 1600,
1600, 1600, 1600, 1601, 1601, 1603, 1602, 1604, 1604, 1605,
1605, 1605, 1606, 1606, 1606, 1607, 1607, 1608, 1609, 1609,
1610, 1611, 1612, 1612, 1612, 1613, 1614, 1615, 1616, 1616,
1616, 1616, 1616, 1616, 1616, 1616, 1617, 1618, 1618, 1618,
1619, 1619, 1619, 1619, 1619, 1620, 1620, 1620, 1620, 1620,
1620, 1621, 1621, 1622, 1623, 1624, 1624, 1624, 1625, 1626,
1626, 1626, 1627, 1627, 1627, 1629, 1628, 1630, 1631, 1631,
1631, 1631, 1632, 1632, 1633, 1633, 1635, 1634, 1636, 1636,
1638, 1639, 1640, 1641, 1637, 1643, 1644, 1645, 1646, 1642,
1647, 1647, 1647, 1647, 1647, 1647, 1648, 1648, 1649, 1649,
1649, 1650, 1650, 1651, 1651, 1651, 1652, 1652, 1653, 1653,
1653, 1654, 1654, 1655, 1655, 1656, 1656, 1657, 1658, 1658,
1659, 1659, 1660, 1660, 1660, 1661, 1661, 1662, 1662, 1663,
1663, 1664, 1664, 1665, 1665, 1666, 1666, 1667, 1667, 1667,
1668, 1668
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 3, 3, 6, 3, 1, 0, 4,
2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 3, 1, 1, 4,
1, 2, 0, 4, 0, 2, 3, 1, 2, 0,
3, 0, 6, 0, 6, 1, 3, 3, 3, 3,
3, 3, 3, 3, 2, 3, 1, 3, 1, 2,
3, 5, 7, 2, 3, 1, 3, 3, 2, 3,
1, 3, 1, 1, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
3, 3, 1, 0, 1, 3, 1, 1, 1, 3,
3, 3, 3, 0, 3, 9, 6, 7, 9, 4,
10, 0, 6, 2, 8, 7, 6, 7, 11, 8,
7, 0, 3, 3, 6, 3, 0, 3, 12, 11,
11, 1, 3, 2, 2, 2, 2, 2, 2, 2,
0, 12, 0, 6, 2, 0, 1, 3, 1, 0,
2, 0, 2, 0, 1, 3, 4, 0, 2, 0,
2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 1, 0, 2, 0, 2,
2, 2, 2, 2, 3, 3, 1, 1, 1, 2,
3, 3, 3, 0, 3, 0, 1, 3, 1, 3,
0, 1, 3, 1, 4, 0, 1, 1, 1, 0,
3, 2, 3, 0, 3, 5, 5, 0, 7, 0,
6, 1, 1, 1, 3, 1, 1, 1, 3, 0,
1, 1, 1, 1, 2, 1, 3, 1, 1, 0,
1, 0, 2, 3, 5, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3, 4, 0, 1, 1, 1, 3, 1, 3, 3,
1, 2, 1, 1, 1, 1, 3, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 0, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 0, 5,
0, 2, 0, 3, 0, 2, 2, 2, 2, 0,
6, 2, 0, 2, 1, 1, 3, 0, 0, 0,
7, 0, 2, 2, 1, 1, 0, 0, 8, 0,
6, 1, 2, 1, 2, 0, 0, 6, 0, 0,
6, 0, 2, 0, 5, 0, 1, 0, 5, 0,
2, 0, 5, 4, 0, 0, 8, 0, 0, 8,
1, 1, 1, 1, 1, 0, 2, 0, 4, 0,
1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 1, 1, 3, 1, 1, 1,
1, 1, 1, 0, 1, 1, 3, 1, 0, 1,
1, 3, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 3, 1, 1, 1, 2, 1, 1, 2,
3, 3, 3, 3, 3, 3, 3, 3, 4, 3,
1, 1, 3, 1, 1, 2, 1, 2, 1, 0,
2, 1, 2, 1, 6, 6, 5, 4, 5, 4,
5, 0, 1, 0, 3, 0, 2, 0, 8, 9,
0, 1, 1, 3, 0, 2, 0, 3, 1, 3,
5, 0, 4, 3, 1, 1, 1, 3, 1, 3,
0, 4, 1, 3, 1, 1, 0, 3, 1, 3,
3, 0, 1, 2, 1, 3, 4, 3, 3, 3,
4, 4, 3, 0, 1, 1, 2, 1, 1, 1,
0, 3, 1, 2, 1, 3, 0, 1, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 5, 1,
1, 3, 4, 4, 3, 2, 2, 3, 3, 1,
1, 4, 4, 4, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1, 3, 0, 1, 6, 7, 7, 7, 8, 3,
4, 0, 2, 0, 1, 0, 1, 2, 2, 9,
0, 2, 0, 1, 1, 3, 3, 3, 1, 2,
1, 1, 3, 2, 3, 2, 2, 1, 3, 3,
2, 3, 1, 2, 2, 2, 1, 2, 1, 1,
1, 2, 3, 2, 3, 2, 2, 5, 5, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 2, 1, 2, 1, 2, 3, 2, 1,
1, 1, 1, 1, 1, 2, 0, 1, 1, 1,
1, 1, 0, 1, 0, 1, 1, 5, 0, 3,
0, 2, 3, 0, 1, 2, 1, 1, 1, 1,
3, 3, 3, 3, 0, 1, 0, 1, 0, 1,
2, 1, 1, 2, 2, 2, 4, 3, 1, 3,
2, 1, 2, 2, 2, 2, 2, 2, 2, 1,
1, 1, 1, 1, 1, 1, 2, 1, 1, 2,
1, 1, 1, 0, 2, 1, 1, 1, 1, 1,
1, 0, 2, 0, 1, 1, 2, 2, 1, 2,
2, 0, 1, 1, 1, 3, 1, 3, 0, 1,
0, 4, 0, 1, 5, 0, 3, 3, 1, 0,
2, 2, 2, 0, 3, 3, 6, 6, 1, 1,
2, 2, 2, 2, 2, 1, 1, 0, 1, 1,
1, 1, 0, 1, 0, 1, 1, 2, 1, 3,
0, 1, 1, 2, 1, 0, 1, 1, 2, 1,
1, 3, 2, 1, 1, 3, 3, 0, 1, 2,
2, 1, 1, 1, 1, 1, 3, 1, 2, 5,
3, 1, 1, 4, 0, 1, 0, 2, 1, 3,
4, 4, 0, 5, 0, 5, 0, 5, 0, 5,
0, 4, 0, 10, 7, 6, 6, 6, 4, 7,
7, 5, 8, 7, 5, 5, 5, 5, 0, 2,
8, 3, 0, 1, 1, 2, 2, 2, 2, 5,
3, 3, 3, 3, 5, 4, 3, 4, 4, 0,
2, 2, 1, 2, 2, 2, 2, 3, 0, 3,
1, 4, 0, 3, 0, 2, 0, 1, 1, 2,
1, 3, 1, 2, 0, 1, 1, 3, 2, 2,
3, 6, 5, 3, 4, 4, 4, 4, 5, 4,
3, 3, 8, 7, 4, 4, 1, 1, 0, 1,
2, 2, 1, 1, 1, 3, 3, 1, 3, 1,
3, 6, 5, 2, 6, 5, 4, 4, 3, 3,
3, 2, 2, 6, 8, 5, 4, 4, 3, 5,
5, 5, 5, 1, 3, 1, 1, 1, 0, 1,
1, 2, 2, 3, 1, 1, 3, 1, 1, 0,
1, 0, 1, 0, 1, 1, 0, 2, 1, 0,
1, 1, 1, 2, 2, 2, 4, 3, 0, 4,
3, 0, 1, 1, 3, 3, 2, 2, 4, 0,
3, 0, 3, 0, 3, 0, 3, 0, 1, 1,
3, 1, 1, 0, 2, 1, 3, 3, 3, 1,
4, 0, 1, 1, 5, 0, 1, 1, 2, 1,
1, 1, 5, 0, 3, 0, 5, 4, 2, 4,
0, 1, 1, 2, 1, 1, 1, 1, 1, 2,
4, 0, 1, 1, 0, 4, 3, 3, 5, 1,
3, 3, 5, 7, 1, 3, 2, 1, 1, 8,
5, 1, 3, 3, 4, 0, 4, 0, 2, 1,
1, 1, 3, 2, 4, 5, 4, 5, 3, 4,
3, 1, 4, 4, 4, 4, 3, 3, 1, 9,
8, 0, 1, 2, 1, 1, 1, 3, 0, 1,
2, 1, 1, 1, 0, 1, 2, 1, 3, 4,
4, 1, 1, 2, 0, 1, 2, 1, 3, 1,
1, 1, 2, 0, 2, 2, 1, 1, 0, 2,
3, 3, 3, 2, 3, 4, 3, 4, 3, 4,
1, 3, 4, 3, 4, 1, 3, 4, 5, 7,
6, 8, 6, 5, 6, 4, 3, 5, 4, 6,
3, 4, 1, 1, 0, 3, 3, 3, 3, 3,
3, 5, 5, 3, 3, 3, 3, 3, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 1, 1, 1, 1, 1, 3, 2,
2, 2, 2, 1, 3, 5, 6, 2, 4, 7,
2, 7, 5, 6, 6, 4, 4, 5, 3, 3,
0, 1, 4, 6, 2, 4, 4, 4, 10, 6,
8, 6, 4, 4, 6, 4, 4, 4, 6, 4,
7, 7, 7, 6, 6, 6, 6, 3, 4, 6,
8, 2, 2, 8, 8, 6, 6, 1, 6, 6,
8, 8, 6, 8, 6, 2, 8, 8, 2, 2,
2, 4, 4, 4, 4, 3, 8, 6, 8, 4,
6, 4, 6, 8, 4, 3, 6, 4, 6, 4,
7, 7, 10, 1, 4, 4, 4, 4, 4, 6,
4, 4, 6, 2, 3, 0, 4, 0, 3, 0,
1, 1, 3, 2, 1, 1, 5, 6, 5, 5,
5, 7, 5, 6, 5, 6, 5, 6, 5, 6,
5, 5, 5, 5, 5, 6, 8, 4, 4, 4,
4, 4, 5, 7, 7, 6, 6, 9, 0, 3,
3, 0, 2, 0, 2, 2, 0, 2, 2, 0,
1, 2, 1, 1, 1, 3, 4, 0, 1, 0,
3, 0, 3, 0, 3, 1, 1, 2, 2, 2,
4, 2, 4, 1, 2, 2, 2, 4, 0, 3,
2, 2, 3, 1, 1, 1, 4, 2, 3, 1,
4, 0, 1, 0, 2, 0, 3, 3, 1, 2,
2, 3, 2, 1, 2, 1, 2, 1, 2, 2,
2, 1, 1, 2, 0, 1, 1, 3, 1, 3,
1, 3, 0, 1, 0, 2, 4, 5, 1, 1,
4, 1, 1, 5, 7, 5, 7, 3, 3, 3,
4, 4, 1, 2, 2, 1, 3, 3, 0, 1,
0, 1, 0, 1, 4, 1, 1, 1, 1, 1,
1, 3, 5, 3, 3, 4, 3, 3, 3, 4,
8, 4, 1, 3, 3, 7, 4, 0, 1, 0,
1, 1, 2, 2, 3, 3, 1, 1, 2, 0,
2, 3, 3, 1, 1, 6, 6, 1, 2, 0,
1, 1, 0, 1, 1, 1, 1, 3, 1, 1,
3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 0, 1, 0, 2,
0, 1, 0, 1, 2, 0, 2, 2, 3, 3,
1, 4, 0, 3, 1, 3, 0, 2, 1, 3,
3, 0, 4, 3, 1, 0, 1, 3, 1, 2,
0, 1, 3, 3, 1, 0, 1, 1, 1, 0,
1, 2, 1, 3, 3, 1, 1, 1, 1, 1,
0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 3, 1, 2, 1,
2, 5, 2, 1, 3, 0, 6, 6, 4, 6,
4, 5, 4, 4, 5, 4, 4, 4, 5, 5,
4, 6, 4, 1, 3, 1, 3, 0, 2, 0,
1, 0, 1, 1, 3, 1, 1, 8, 9, 8,
6, 7, 6, 0, 1, 1, 1, 1, 1, 0,
1, 1, 3, 4, 1, 3, 4, 3, 1, 2,
1, 1, 1, 1, 3, 1, 1, 1, 0, 1,
3, 0, 1, 3, 1, 1, 1, 0, 5, 10,
0, 1, 3, 1, 3, 0, 1, 10, 7, 8,
0, 2, 0, 2, 1, 1, 1, 3, 0, 1,
0, 1, 1, 3, 1, 1, 2, 2, 2, 1,
1, 1, 1, 0, 3, 0, 3, 2, 4, 4,
3, 4, 4, 1, 3, 3, 6, 2, 2, 0,
6, 0, 7, 6, 2, 5, 5, 2, 2, 1,
4, 3, 2, 3, 2, 2, 1, 1, 3, 5,
4, 3, 3, 2, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 1, 1, 1, 1, 1, 0,
1, 0, 2, 0, 1, 0, 1, 0, 1, 1,
2, 1, 1, 0, 2, 0, 2, 0, 2, 1,
3, 3, 1, 1, 1, 1, 1, 3, 1, 1,
0, 3, 1, 0, 1, 1, 0, 4, 0, 4,
1, 0, 3, 0, 3, 3, 1, 2, 2, 2,
2, 2, 3, 1, 1, 1, 1, 1, 1, 0,
1, 0, 3, 3, 3, 1, 0, 2, 0, 4,
0, 3, 0, 1, 0, 2, 0, 3, 3, 2,
2, 3, 0, 1, 1, 2, 18, 1, 1, 0,
1, 0, 1, 1, 0, 1, 1, 1, 0, 2,
2, 1, 3, 4, 3, 3, 0, 2, 2, 1,
3, 3, 0, 4, 0, 3, 1, 1, 0, 3,
2, 3, 1, 1, 2, 0, 2, 3, 1, 3,
1, 1, 2, 2, 1, 1, 1, 1, 1, 2,
2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2, 1, 1, 1, 1, 1, 2, 2, 2, 1,
1, 3, 5, 2, 1, 1, 1, 1, 1, 3,
5, 1, 3, 2, 4, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3, 1, 2, 1, 3, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 2, 2, 2, 5, 5, 7, 7, 3,
3, 3, 6, 6, 6, 4, 0, 2, 4, 6,
1, 3, 1, 2, 2, 0, 2, 1, 3, 2,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
0, 2, 2, 2, 0, 2, 2, 2, 2, 2,
3, 3, 4, 6, 2, 3, 3, 2, 1, 3,
3, 2, 2, 1, 0, 2, 3, 0, 2, 2,
2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 0, 4, 4, 1, 1, 1, 3, 3,
1, 1, 2, 2, 0, 3, 2, 1, 1, 3,
4, 2, 6, 4, 3, 6, 7, 10, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
7, 0, 9, 8, 6, 5, 9, 0, 11, 7,
0, 1, 1, 1, 0, 1, 1, 3, 2, 3,
2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 2, 1, 3, 2,
2, 2, 2, 2, 2, 2, 2, 1, 1, 2,
2, 2, 0, 3, 0, 1, 3, 1, 2, 2,
2, 1, 3, 3, 1, 3, 1, 3, 1, 3,
0, 3, 0, 3, 4, 5, 4, 6, 6, 7,
1, 7, 9, 5, 6, 8, 4, 7, 7, 8,
2, 1, 3, 1, 3, 0, 3, 1, 3, 0,
2, 2, 2, 2, 0, 3, 0, 3, 0, 3,
4, 3, 3, 0, 3, 0, 3, 0, 1, 0,
3, 2, 0, 1, 2, 0, 1, 4, 4, 5,
2, 3, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 0, 3, 3, 4,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 3, 1, 2, 1, 2, 3,
3, 3, 0, 3, 3, 0, 7, 2, 0, 3,
4, 4, 1, 1, 0, 2, 0, 12, 7, 6,
0, 0, 0, 0, 14, 0, 0, 0, 0, 11,
4, 4, 3, 4, 3, 3, 0, 2, 1, 3,
5, 1, 1, 0, 1, 1, 0, 2, 0, 1,
3, 5, 3, 3, 3, 1, 3, 4, 6, 10,
1, 5, 0, 2, 3, 1, 1, 0, 3, 1,
3, 1, 3, 1, 2, 0, 3, 0, 1, 1,
0, 1
};
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (&yylloc, YYTHD, parse_tree, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
/* Error token number */
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
unsigned res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
res += YYFPRINTF (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
res += YYFPRINTF (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
res += YYFPRINTF (yyo, "-%d", end_col);
}
return res;
}
# define YY_LOCATION_PRINT(File, Loc) \
yy_location_print_ (File, &(Loc))
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value, Location, YYTHD, parse_tree); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)
/*----------------------------------------.
| Print this symbol's value on YYOUTPUT. |
`----------------------------------------*/
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree)
{
FILE *yyo = yyoutput;
YYUSE (yyo);
YYUSE (yylocationp);
YYUSE (YYTHD);
YYUSE (parse_tree);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
YYUSE (yytype);
}
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree)
{
YYFPRINTF (yyoutput, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
YY_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, YYTHD, parse_tree);
YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF (stderr, " %d", yybot);
}
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
static void
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, class THD *YYTHD, class Parse_tree_root **parse_tree)
{
unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) , YYTHD, parse_tree);
YYFPRINTF (stderr, "\n");
}
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
yy_reduce_print (yyssp, yyvsp, yylsp, Rule, YYTHD, parse_tree); \
} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYINITDEPTH -- initial size of the parser's stacks. */
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
static YYSIZE_T
yystrlen (const char *yystr)
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
}
# endif
# endif
# ifndef yystpcpy
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
static char *
yystpcpy (char *yydest, const char *yysrc)
{
char *yyd = yydest;
const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
}
# endif
# endif
# ifndef yytnamerr
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
quotes and backslashes, so that it's suitable for yyerror. The
heuristic is that double-quoting is unnecessary unless the string
contains an apostrophe, a comma, or backslash (other than
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
static YYSIZE_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
YYSIZE_T yyn = 0;
char const *yyp = yystr;
for (;;)
switch (*++yyp)
{
case '\'':
case ',':
goto do_not_strip_quotes;
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
/* Fall through. */
default:
if (yyres)
yyres[yyn] = *yyp;
yyn++;
break;
case '"':
if (yyres)
yyres[yyn] = '\0';
return yyn;
}
do_not_strip_quotes: ;
}
if (! yyres)
return yystrlen (yystr);
return yystpcpy (yyres, yystr) - yyres;
}
# endif
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
about the unexpected token YYTOKEN for the state stack whose top is
YYSSP.
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
not large enough to hold the message. In that case, also set
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
"expected"). */
int yycount = 0;
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
tokens because there are none.
- The only way there can be no lookahead present (in yychar) is if
this state is a consistent state with a default action. Thus,
detecting the absence of a lookahead is sufficient to determine
that there is no unexpected or expected token to report. In that
case, just report a simple "syntax error".
- Don't assume there isn't a lookahead just because this state is a
consistent state with a default action. There might have been a
previous inconsistent state, consistent state with a non-default
action, or user semantic action that manipulated yychar.
- Of course, the expected token list depends on states to have
correct lookahead information, and it depends on the parser not
to perform extra reductions after fetching a lookahead from the
scanner and before detecting a syntax error. Thus, state merging
(from LALR or IELR) and default reductions corrupt the expected
token list. However, the list is correct for canonical LR with
one exception: it will still contain any token that will not be
accepted due to an error action in a later state.
*/
if (yytoken != YYEMPTY)
{
int yyn = yypact[*yyssp];
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. In other words, skip the first -YYN actions for
this state because they are default actions. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yyx;
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
&& !yytable_value_is_error (yytable[yyx + yyn]))
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
break;
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
}
}
}
}
switch (yycount)
{
# define YYCASE_(N, S) \
case N: \
yyformat = S; \
break
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
# undef YYCASE_
}
{
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
}
if (*yymsg_alloc < yysize)
{
*yymsg_alloc = 2 * yysize;
if (! (yysize <= *yymsg_alloc
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
return 1;
}
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
{
char *yyp = *yymsg;
int yyi = 0;
while ((*yyp = *yyformat) != '\0')
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyformat += 2;
}
else
{
yyp++;
yyformat++;
}
}
return 0;
}
#endif /* YYERROR_VERBOSE */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, class THD *YYTHD, class Parse_tree_root **parse_tree)
{
YYUSE (yyvaluep);
YYUSE (yylocationp);
YYUSE (YYTHD);
YYUSE (parse_tree);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
/*----------.
| yyparse. |
`----------*/
int
yyparse (class THD *YYTHD, class Parse_tree_root **parse_tree)
{
/* The lookahead symbol. */
int yychar;
/* The semantic value of the lookahead symbol. */
/* Default value used for initialization, for pacifying older GCCs
or non-GCC compilers. */
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
/* Location data for the lookahead symbol. */
static YYLTYPE yyloc_default
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
= { 1, 1, 1, 1 }
# endif
;
YYLTYPE yylloc = yyloc_default;
/* Number of syntax errors so far. */
int yynerrs;
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* The stacks and their tools:
'yyss': related to states.
'yyvs': related to semantic values.
'yyls': related to locations.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
/* The state stack. */
yytype_int16 yyssa[YYINITDEPTH];
yytype_int16 *yyss;
yytype_int16 *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;
/* The location stack. */
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls;
YYLTYPE *yylsp;
/* The locations where the error started and ended. */
YYLTYPE yyerror_range[3];
YYSIZE_T yystacksize;
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
int yytoken = 0;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
yyssp = yyss = yyssa;
yyvsp = yyvs = yyvsa;
yylsp = yyls = yylsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
yylsp[0] = yylloc;
goto yysetstate;
/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
yysetstate:
*yyssp = yystate;
if (yyss + yystacksize - 1 <= yyssp)
{
/* Get the current used size of the three stacks, in elements. */
YYSIZE_T yysize = yyssp - yyss + 1;
#ifdef yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
YYLTYPE *yyls1 = yyls;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
goto yyexhaustedlab;
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
{
yytype_int16 *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
yylsp = yyls + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
/*-----------.
| yybackup. |
`-----------*/
yybackup:
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
yychar = yylex (&yylval, &yylloc, YYTHD);
}
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
{
yytoken = YYTRANSLATE (yychar);
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
detect an error, take that action. */
yyn += yytoken;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
goto yydefault;
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yytable_value_is_error (yyn))
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
/* Discard the shifted token. */
yychar = YYEMPTY;
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
*++yylsp = yylloc;
goto yynewstate;
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
/*-----------------------------.
| yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
'$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen];
/* Default location. */
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 3:
#line 1953 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item));
static_cast<Expression_parser_state *>(YYP)->result= (yyvsp[-1].item);
}
#line 22844 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 4:
#line 1958 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
We enter here when translating partition info string into
partition_info data structure.
*/
CONTEXTUALIZE((yyvsp[-1].partition_clause));
static_cast<Partition_expr_parser_state *>(YYP)->result=
&(yyvsp[-1].partition_clause)->part_info;
}
#line 22858 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 5:
#line 1968 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
We enter here when translating generated column info string into
partition_info data structure.
*/
// Check gcol expression for the "PARSE_GCOL_EXPR" prefix:
if (!is_identifier((yyvsp[-4].lexer.lex_str), "PARSE_GCOL_EXPR"))
MYSQL_YYABORT;
auto gcol_info= NEW_PTN Value_generator;
if (gcol_info == NULL)
MYSQL_YYABORT; // OOM
ITEMIZE((yyvsp[-2].item), &(yyvsp[-2].item));
gcol_info->expr_item= (yyvsp[-2].item);
static_cast<Gcol_expr_parser_state *>(YYP)->result= gcol_info;
}
#line 22880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 6:
#line 1986 "sql_yacc.yy" /* yacc.c:1646 */
{
static_cast<Common_table_expr_parser_state *>(YYP)->result= (yyvsp[-1].subquery);
}
#line 22888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 7:
#line 1993 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (!thd->is_bootstrap_system_thread() &&
!thd->m_parser_state->has_comment())
{
my_error(ER_EMPTY_QUERY, MYF(0));
MYSQL_YYABORT;
}
thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
YYLIP->found_semicolon= NULL;
}
#line 22904 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 8:
#line 2005 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex_input_stream *lip = YYLIP;
if (YYTHD->get_protocol()->has_client_capability(CLIENT_MULTI_QUERIES) &&
lip->multi_statements &&
! lip->eof())
{
/*
We found a well formed query, and multi queries are allowed:
- force the parser to stop after the ';'
- mark the start of the next query for the next invocation
of the parser.
*/
lip->next_state= MY_LEX_END;
lip->found_semicolon= lip->get_ptr();
}
else
{
/* Single query, terminated. */
lip->found_semicolon= NULL;
}
}
#line 22931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 10:
#line 2030 "sql_yacc.yy" /* yacc.c:1646 */
{
/* Single query, not terminated. */
YYLIP->found_semicolon= NULL;
}
#line 22940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 13:
#line 2042 "sql_yacc.yy" /* yacc.c:1646 */
{ *parse_tree= (yyvsp[0].top_level_node); }
#line 22946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 15:
#line 2048 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 16:
#line 2049 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 17:
#line 2050 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 19:
#line 2052 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 20:
#line 2053 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 22:
#line 2055 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 23:
#line 2056 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 24:
#line 2057 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 22994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 26:
#line 2059 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 27:
#line 2060 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 29:
#line 2062 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 31:
#line 2064 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 33:
#line 2066 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 34:
#line 2067 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 35:
#line 2068 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 36:
#line 2069 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 42:
#line 2075 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 46:
#line 2079 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 47:
#line 2080 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 48:
#line 2081 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 50:
#line 2083 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 51:
#line 2084 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 54:
#line 2087 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 56:
#line 2089 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 57:
#line 2090 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23096 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 58:
#line 2091 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 59:
#line 2092 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 60:
#line 2093 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 61:
#line 2094 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 62:
#line 2095 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 64:
#line 2097 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 65:
#line 2098 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 66:
#line 2099 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 67:
#line 2100 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 69:
#line 2102 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 70:
#line 2103 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23162 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 72:
#line 2105 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 73:
#line 2106 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23174 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 75:
#line 2108 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23180 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 79:
#line 2112 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23186 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 80:
#line 2113 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 81:
#line 2114 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 82:
#line 2115 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23204 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 85:
#line 2118 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23210 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 86:
#line 2119 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 88:
#line 2121 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23222 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 89:
#line 2122 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 90:
#line 2123 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 92:
#line 2125 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; CONTEXTUALIZE((yyvsp[0].set)); }
#line 23240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 95:
#line 2128 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 96:
#line 2129 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 98:
#line 2131 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 99:
#line 2132 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 101:
#line 2134 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 102:
#line 2135 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23276 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 104:
#line 2137 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 105:
#line 2138 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.top_level_node)= nullptr; }
#line 23288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 106:
#line 2143 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lexer.lex_str));
}
#line 23299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 109:
#line 2158 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_PREPARE;
lex->prepared_stmt_name= to_lex_cstring((yyvsp[-2].lexer.lex_str));
/*
We don't know know at this time whether there's a password
in prepare_src, so we err on the side of caution. Setting
the flag will force a rewrite which will obscure all of
prepare_src in the "Query" log line. We'll see the actual
query (with just the passwords obscured, if any) immediately
afterwards in the "Prepare" log lines anyway, and then again
in the "Execute" log line if and when prepare_src is executed.
*/
lex->contains_plaintext_password= true;
}
#line 23320 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 110:
#line 2178 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->prepared_stmt_code= (yyvsp[0].lexer.lex_str);
lex->prepared_stmt_code_is_varref= false;
}
#line 23331 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 111:
#line 2185 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->prepared_stmt_code= (yyvsp[0].lexer.lex_str);
lex->prepared_stmt_code_is_varref= true;
}
#line 23342 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 112:
#line 2195 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_EXECUTE;
lex->prepared_stmt_name= to_lex_cstring((yyvsp[0].lexer.lex_str));
}
#line 23353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 113:
#line 2202 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 23359 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 118:
#line 2217 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lexer.lex_str), sizeof(LEX_STRING));
if (!lexstr || lex->prepared_stmt_params.push_back(lexstr))
MYSQL_YYABORT;
}
#line 23370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 119:
#line 2229 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "HELP");
MYSQL_YYABORT;
}
}
#line 23382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 120:
#line 2237 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_HELP;
lex->help_arg= (yyvsp[0].lexer.lex_str).str;
}
#line 23392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 121:
#line 2248 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex = Lex;
lex->sql_command = SQLCOM_CHANGE_MASTER;
/*
Clear LEX_MASTER_INFO struct. repl_ignore_server_ids is cleared
in THD::cleanup_after_query. So it is guaranteed to be empty here.
*/
DBUG_ASSERT(Lex->mi.repl_ignore_server_ids.empty());
lex->mi.set_unspecified();
}
#line 23407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 122:
#line 2259 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 23413 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 123:
#line 2261 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX* lex= thd->lex;
DBUG_ASSERT(!lex->m_sql_cmd);
lex->sql_command = SQLCOM_CHANGE_REPLICATION_FILTER;
lex->m_sql_cmd= NEW_PTN Sql_cmd_change_repl_filter();
if (lex->m_sql_cmd == NULL)
MYSQL_YYABORT;
}
#line 23427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 124:
#line 2271 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 23433 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 127:
#line 2280 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_DB);
}
#line 23444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 128:
#line 2287 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_DB);
}
#line 23455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 129:
#line 2294 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_DO_TABLE);
}
#line 23466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 130:
#line 2301 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_IGNORE_TABLE);
}
#line 23477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 131:
#line 2308 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_WILD_DO_TABLE);
}
#line 23488 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 132:
#line 2315 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list),
OPT_REPLICATE_WILD_IGNORE_TABLE);
}
#line 23500 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 133:
#line 2323 "sql_yacc.yy" /* yacc.c:1646 */
{
Sql_cmd_change_repl_filter * filter_sql_cmd=
(Sql_cmd_change_repl_filter*) Lex->m_sql_cmd;
DBUG_ASSERT(filter_sql_cmd);
filter_sql_cmd->set_filter_value((yyvsp[0].item_list), OPT_REPLICATE_REWRITE_DB);
}
#line 23511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 134:
#line 2332 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
}
#line 23521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 135:
#line 2338 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= (yyvsp[-1].item_list);
}
#line 23529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 136:
#line 2345 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
(yyval.item_list)->push_back((yyvsp[0].item));
}
#line 23540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 137:
#line 2352 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].item_list)->push_back((yyvsp[0].item));
(yyval.item_list)= (yyvsp[-2].item_list);
}
#line 23549 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 138:
#line 2360 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
Item *db_item= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length,
thd->charset());
(yyval.item)= db_item;
}
#line 23560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 139:
#line 2369 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
}
#line 23570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 140:
#line 2375 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= (yyvsp[-1].item_list);
}
#line 23578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 141:
#line 2381 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
(yyval.item_list)->push_back((yyvsp[-3].item));
(yyval.item_list)->push_back((yyvsp[-1].item));
}
#line 23590 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 142:
#line 2389 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-6].item_list)->push_back((yyvsp[-3].item));
(yyvsp[-6].item_list)->push_back((yyvsp[-1].item));
(yyval.item_list)= (yyvsp[-6].item_list);
}
#line 23600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 143:
#line 2397 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
}
#line 23610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 144:
#line 2403 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= (yyvsp[-1].item_list);
}
#line 23618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 145:
#line 2410 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
(yyval.item_list)->push_back((yyvsp[0].item));
}
#line 23629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 146:
#line 2417 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].item_list)->push_back((yyvsp[0].item));
(yyval.item_list)= (yyvsp[-2].item_list);
}
#line 23638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 147:
#line 2425 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
Item_string *table_item= NEW_PTN Item_string((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length,
thd->charset());
table_item->append(thd->strmake(".", 1), 1);
table_item->append((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
(yyval.item)= table_item;
}
#line 23651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 148:
#line 2437 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
}
#line 23661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 149:
#line 2443 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= (yyvsp[-1].item_list);
}
#line 23669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 150:
#line 2450 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= NEW_PTN List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
(yyval.item_list)->push_back((yyvsp[0].item));
}
#line 23680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 151:
#line 2457 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].item_list)->push_back((yyvsp[0].item));
(yyval.item_list)= (yyvsp[-2].item_list);
}
#line 23689 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 152:
#line 2465 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
Item *string_item= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length,
thd->charset());
(yyval.item)= string_item;
}
#line 23700 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 155:
#line 2480 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.host = (yyvsp[0].lexer.lex_str).str;
}
#line 23708 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 156:
#line 2484 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.network_namespace = (yyvsp[0].lexer.lex_str).str;
}
#line 23716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 157:
#line 2488 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.bind_addr = (yyvsp[0].lexer.lex_str).str;
}
#line 23724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 158:
#line 2492 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.user = (yyvsp[0].lexer.lex_str).str;
}
#line 23732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 159:
#line 2496 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.password = (yyvsp[0].lexer.lex_str).str;
if (strlen((yyvsp[0].lexer.lex_str).str) > 32)
{
my_error(ER_CHANGE_MASTER_PASSWORD_LENGTH, MYF(0));
MYSQL_YYABORT;
}
Lex->contains_plaintext_password= true;
}
#line 23746 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 160:
#line 2506 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.port = (yyvsp[0].ulong_num);
}
#line 23754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 161:
#line 2510 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.connect_retry = (yyvsp[0].ulong_num);
}
#line 23762 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 162:
#line 2514 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.retry_count= (yyvsp[0].ulong_num);
Lex->mi.retry_count_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
}
#line 23771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 163:
#line 2519 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulong_num) > MASTER_DELAY_MAX)
{
const char *msg= YYTHD->strmake((yylsp[0]).cpp.start, (yylsp[0]).cpp.end - (yylsp[0]).cpp.start);
my_error(ER_MASTER_DELAY_VALUE_OUT_OF_RANGE, MYF(0),
msg, MASTER_DELAY_MAX);
}
else
Lex->mi.sql_delay = (yyvsp[0].ulong_num);
}
#line 23786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 164:
#line 2530 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl= (yyvsp[0].ulong_num) ?
LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
}
#line 23795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 165:
#line 2535 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_ca= (yyvsp[0].lexer.lex_str).str;
}
#line 23803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 166:
#line 2539 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_capath= (yyvsp[0].lexer.lex_str).str;
}
#line 23811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 167:
#line 2543 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.tls_version= (yyvsp[0].lexer.lex_str).str;
}
#line 23819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 168:
#line 2547 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_cert= (yyvsp[0].lexer.lex_str).str;
}
#line 23827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 169:
#line 2551 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_cipher= (yyvsp[0].lexer.lex_str).str;
}
#line 23835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 170:
#line 2555 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_key= (yyvsp[0].lexer.lex_str).str;
}
#line 23843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 171:
#line 2559 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ?
LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
}
#line 23852 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 172:
#line 2564 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_crl= (yyvsp[0].lexer.lex_str).str;
}
#line 23860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 173:
#line 2568 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.ssl_crlpath= (yyvsp[0].lexer.lex_str).str;
}
#line 23868 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 174:
#line 2572 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.public_key_path= (yyvsp[0].lexer.lex_str).str;
}
#line 23876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 175:
#line 2576 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.get_public_key= (yyvsp[0].ulong_num) ?
LEX_MASTER_INFO::LEX_MI_ENABLE :
LEX_MASTER_INFO::LEX_MI_DISABLE;
}
#line 23886 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 176:
#line 2582 "sql_yacc.yy" /* yacc.c:1646 */
{
Item *num= (yyvsp[0].item_num);
ITEMIZE(num, &num);
Lex->mi.heartbeat_period= (float) num->val_real();
if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD ||
Lex->mi.heartbeat_period < 0.0)
{
const char format[]= "%d";
char buf[4*sizeof(SLAVE_MAX_HEARTBEAT_PERIOD) + sizeof(format)];
sprintf(buf, format, SLAVE_MAX_HEARTBEAT_PERIOD);
my_error(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), buf);
MYSQL_YYABORT;
}
if (Lex->mi.heartbeat_period > slave_net_timeout)
{
push_warning(YYTHD, Sql_condition::SL_WARNING,
ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX,
ER_THD(YYTHD, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX));
}
if (Lex->mi.heartbeat_period < 0.001)
{
if (Lex->mi.heartbeat_period != 0.0)
{
push_warning(YYTHD, Sql_condition::SL_WARNING,
ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN,
ER_THD(YYTHD, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN));
Lex->mi.heartbeat_period= 0.0;
}
Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_DISABLE;
}
Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
}
#line 23924 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 177:
#line 2616 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
}
#line 23932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 178:
#line 2620 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.compression_algorithm = (yyvsp[0].lexer.lex_str).str;
}
#line 23940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 179:
#line 2624 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.zstd_compression_level = (yyvsp[0].ulong_num);
}
#line 23948 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 180:
#line 2628 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.auto_position= (yyvsp[0].ulong_num) ?
LEX_MASTER_INFO::LEX_MI_ENABLE :
LEX_MASTER_INFO::LEX_MI_DISABLE;
}
#line 23958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 186:
#line 2645 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.repl_ignore_server_ids.push_back((yyvsp[0].ulong_num));
}
#line 23966 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 187:
#line 2651 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.privilege_checks_none= false;
Lex->mi.privilege_checks_username= (yyvsp[0].lex_user)->user.str;
Lex->mi.privilege_checks_hostname= (yyvsp[0].lex_user)->host.str;
}
#line 23976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 188:
#line 2657 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.privilege_checks_none= true;
Lex->mi.privilege_checks_username= NULL;
Lex->mi.privilege_checks_hostname= NULL;
}
#line 23986 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 189:
#line 2666 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.log_file_name = (yyvsp[0].lexer.lex_str).str;
}
#line 23994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 190:
#line 2670 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.pos = (yyvsp[0].ulonglong_number);
/*
If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it
instead of causing subsequent errors.
We need to do it in this file, because only there we know that
MASTER_LOG_POS has been explicitely specified. On the contrary
in change_master() (sql_repl.cc) we cannot distinguish between 0
(MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified),
whereas we want to distinguish (specified 0 means "read the binlog
from 0" (4 in fact), unspecified means "don't change the position
(keep the preceding value)").
*/
Lex->mi.pos = max<ulonglong>(BIN_LOG_HEADER_SIZE, Lex->mi.pos);
}
#line 24014 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 191:
#line 2686 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.relay_log_name = (yyvsp[0].lexer.lex_str).str;
}
#line 24022 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 192:
#line 2690 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.relay_log_pos = (yyvsp[0].ulong_num);
/* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
Lex->mi.relay_log_pos = max<ulong>(BIN_LOG_HEADER_SIZE,
Lex->mi.relay_log_pos);
}
#line 24033 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 193:
#line 2700 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.channel= "";
Lex->mi.for_channel= false;
}
#line 24042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 194:
#line 2705 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
channel names are case insensitive. This means, even the results
displayed to the user are converted to lower cases.
system_charset_info is utf8_general_ci as required by channel name
restrictions
*/
my_casedn_str(system_charset_info, (yyvsp[0].lexer.lex_str).str);
Lex->mi.channel= (yyvsp[0].lexer.lex_str).str;
Lex->mi.for_channel= true;
}
#line 24058 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 195:
#line 2721 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-7].is_not_empty), (yyvsp[-5].is_not_empty), (yyvsp[-4].table),
(yyvsp[-2].table_element_list),
(yyvsp[0].create_table_tail).opt_create_table_options,
(yyvsp[0].create_table_tail).opt_partitioning,
(yyvsp[0].create_table_tail).on_duplicate,
(yyvsp[0].create_table_tail).opt_query_expression);
}
#line 24071 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 196:
#line 2731 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-4].is_not_empty), (yyvsp[-2].is_not_empty), (yyvsp[-1].table),
NULL,
(yyvsp[0].create_table_tail).opt_create_table_options,
(yyvsp[0].create_table_tail).opt_partitioning,
(yyvsp[0].create_table_tail).on_duplicate,
(yyvsp[0].create_table_tail).opt_query_expression);
}
#line 24084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 197:
#line 2741 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-5].is_not_empty), (yyvsp[-3].is_not_empty), (yyvsp[-2].table), (yyvsp[0].table));
}
#line 24092 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 198:
#line 2746 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_table_stmt(YYMEM_ROOT, (yyvsp[-7].is_not_empty), (yyvsp[-5].is_not_empty), (yyvsp[-4].table), (yyvsp[-1].table));
}
#line 24100 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 199:
#line 2753 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_role(!!(yyvsp[-1].is_not_empty), (yyvsp[0].user_list));
}
#line 24108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 200:
#line 2763 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_resource_group(to_lex_cstring((yyvsp[-6].lexer.lex_str)), (yyvsp[-3].resource_group_type), (yyvsp[-2].resource_group_vcpu_list_type), (yyvsp[-1].resource_group_priority_type),
(yyvsp[0].resource_group_state_type).is_default ? true :
(yyvsp[0].resource_group_state_type).value);
}
#line 24118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 201:
#line 2772 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (Lex->create_info == NULL)
MYSQL_YYABORT; // OOM
Lex->create_info->default_table_charset= NULL;
Lex->create_info->used_fields= 0;
}
#line 24130 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 202:
#line 2780 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command=SQLCOM_CREATE_DB;
lex->name= (yyvsp[-2].lexer.lex_str);
lex->create_info->options= (yyvsp[-3].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0;
}
#line 24141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 203:
#line 2787 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 204:
#line 2791 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_CREATE_USER;
lex->default_roles= (yyvsp[-3].user_list);
Lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (Lex->create_info == NULL)
MYSQL_YYABORT; // OOM
lex->create_info->options= (yyvsp[-5].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0;
}
#line 24161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 205:
#line 2802 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
Lex->m_sql_cmd= NEW_PTN Sql_cmd_logfile_group{CREATE_LOGFILE_GROUP,
(yyvsp[-3].lexer.lex_str), pc, (yyvsp[-1].lexer.lex_str)};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; /* purecov: inspected */ //OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 24184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 206:
#line 2822 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT;
}
auto cmd= NEW_PTN Sql_cmd_create_tablespace{(yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc};
if (!cmd)
MYSQL_YYABORT; /* purecov: inspected */ //OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 24206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 207:
#line 2841 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT;
}
auto cmd= NEW_PTN Sql_cmd_create_undo_tablespace{
CREATE_UNDO_TABLESPACE, (yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc};
if (!cmd)
MYSQL_YYABORT; //OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 24229 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 208:
#line 2861 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_CREATE_SERVER;
if ((yyvsp[-8].lexer.lex_str).length == 0)
{
my_error(ER_WRONG_VALUE, MYF(0), "server name", "");
MYSQL_YYABORT;
}
Lex->server_options.m_server_name= (yyvsp[-8].lexer.lex_str);
Lex->server_options.set_scheme((yyvsp[-4].lexer.lex_str));
Lex->m_sql_cmd=
NEW_PTN Sql_cmd_create_server(&Lex->server_options);
}
#line 24246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 209:
#line 2878 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_srs((yyvsp[-1].ulonglong_number), *(yyvsp[0].sql_cmd_srs_attributes), true, false);
}
#line 24254 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 210:
#line 2883 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_srs((yyvsp[-1].ulonglong_number), *(yyvsp[0].sql_cmd_srs_attributes), false, (yyvsp[-2].is_not_empty));
}
#line 24262 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 211:
#line 2890 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sql_cmd_srs_attributes) = NEW_PTN Sql_cmd_srs_attributes();
if (!(yyval.sql_cmd_srs_attributes))
MYSQL_YYABORT_ERROR(ER_OOM, MYF(0)); /* purecov: inspected */
}
#line 24272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 212:
#line 2896 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].sql_cmd_srs_attributes)->srs_name.str != nullptr)
{
MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0),
"NAME");
}
else
{
(yyvsp[-2].sql_cmd_srs_attributes)->srs_name= (yyvsp[0].lexer.lex_str);
}
}
#line 24288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 213:
#line 2908 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].sql_cmd_srs_attributes)->definition.str != nullptr)
{
MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0),
"DEFINITION");
}
else
{
(yyvsp[-2].sql_cmd_srs_attributes)->definition= (yyvsp[0].lexer.lex_str);
}
}
#line 24304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 214:
#line 2921 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-5].sql_cmd_srs_attributes)->organization.str != nullptr)
{
MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0),
"ORGANIZATION");
}
else
{
(yyvsp[-5].sql_cmd_srs_attributes)->organization= (yyvsp[-3].lexer.lex_str);
(yyvsp[-5].sql_cmd_srs_attributes)->organization_coordsys_id= (yyvsp[0].ulonglong_number);
}
}
#line 24321 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 215:
#line 2934 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].sql_cmd_srs_attributes)->description.str != nullptr)
{
MYSQL_YYABORT_ERROR(ER_SRS_MULTIPLE_ATTRIBUTE_DEFINITIONS, MYF(0),
"DESCRIPTION");
}
else
{
(yyvsp[-2].sql_cmd_srs_attributes)->description= (yyvsp[0].lexer.lex_str);
}
}
#line 24337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 216:
#line 2949 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= 0;
}
#line 24345 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 217:
#line 2954 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= (yyvsp[0].user_list);
}
#line 24353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 218:
#line 2963 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, (yyvsp[-10].key_type), (yyvsp[-8].lexer.lex_str), (yyvsp[-7].index_option),
(yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options),
(yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(),
(yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default());
}
#line 24364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 219:
#line 2971 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, KEYTYPE_FULLTEXT, (yyvsp[-7].lexer.lex_str),
NULL, (yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options),
(yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(),
(yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default());
}
#line 24375 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 220:
#line 2979 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_create_index_stmt(YYMEM_ROOT, KEYTYPE_SPATIAL, (yyvsp[-7].lexer.lex_str),
NULL, (yyvsp[-5].table), (yyvsp[-3].index_column_list), (yyvsp[-1].index_options),
(yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(),
(yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default());
}
#line 24386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 223:
#line 2994 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_username((yyvsp[0].lexer.lex_str));
}
#line 24394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 224:
#line 2998 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_host((yyvsp[0].lexer.lex_str));
}
#line 24402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 225:
#line 3002 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_db((yyvsp[0].lexer.lex_str));
}
#line 24410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 226:
#line 3006 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_owner((yyvsp[0].lexer.lex_str));
}
#line 24418 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 227:
#line 3010 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_password((yyvsp[0].lexer.lex_str));
Lex->contains_plaintext_password= true;
}
#line 24427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 228:
#line 3015 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_socket((yyvsp[0].lexer.lex_str));
}
#line 24435 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 229:
#line 3019 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->server_options.set_port((yyvsp[0].ulong_num));
}
#line 24443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 230:
#line 3026 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex=Lex;
lex->stmt_definition_begin= (yylsp[-2]).cpp.start;
lex->create_info->options= (yyvsp[-1].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0;
if (!(lex->event_parse_data= new (thd->mem_root) Event_parse_data()))
MYSQL_YYABORT;
lex->event_parse_data->identifier= (yyvsp[0].spname);
lex->event_parse_data->on_completion=
Event_parse_data::ON_COMPLETION_DROP;
lex->sql_command= SQLCOM_CREATE_EVENT;
/* We need that for disallowing subqueries */
}
#line 24463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 231:
#line 3046 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
sql_command is set here because some rules in ev_sql_stmt
can overwrite it
*/
Lex->sql_command= SQLCOM_CREATE_EVENT;
}
#line 24475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 232:
#line 3057 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[-1].item), &(yyvsp[-1].item));
Lex->event_parse_data->item_expression= (yyvsp[-1].item);
Lex->event_parse_data->interval= (yyvsp[0].interval);
}
#line 24486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 234:
#line 3066 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
Lex->event_parse_data->item_execute_at= (yyvsp[0].item);
}
#line 24496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 235:
#line 3074 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 24502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 236:
#line 3076 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->status= Event_parse_data::ENABLED;
Lex->event_parse_data->status_changed= true;
(yyval.num)= 1;
}
#line 24512 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 237:
#line 3082 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED;
Lex->event_parse_data->status_changed= true;
(yyval.num)= 1;
}
#line 24522 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 238:
#line 3088 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->status= Event_parse_data::DISABLED;
Lex->event_parse_data->status_changed= true;
(yyval.num)= 1;
}
#line 24532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 239:
#line 3097 "sql_yacc.yy" /* yacc.c:1646 */
{
Item *item= NEW_PTN Item_func_now_local(0);
if (item == NULL)
MYSQL_YYABORT;
Lex->event_parse_data->item_starts= item;
}
#line 24543 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 240:
#line 3104 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
Lex->event_parse_data->item_starts= (yyvsp[0].item);
}
#line 24553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 242:
#line 3114 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
Lex->event_parse_data->item_ends= (yyvsp[0].item);
}
#line 24563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 243:
#line 3122 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 24569 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 245:
#line 3128 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->on_completion=
Event_parse_data::ON_COMPLETION_PRESERVE;
(yyval.num)= 1;
}
#line 24579 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 246:
#line 3134 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->on_completion=
Event_parse_data::ON_COMPLETION_DROP;
(yyval.num)= 1;
}
#line 24589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 247:
#line 3142 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 24595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 248:
#line 3144 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->event_parse_data->comment= (yyvsp[0].lexer.lex_str);
(yyval.num)= 1;
}
#line 24604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 249:
#line 3151 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
/*
This stops the following :
- CREATE EVENT ... DO CREATE EVENT ...;
- ALTER EVENT ... DO CREATE EVENT ...;
- CREATE EVENT ... DO ALTER EVENT DO ....;
- CREATE PROCEDURE ... BEGIN CREATE EVENT ... END|
This allows:
- CREATE EVENT ... DO DROP EVENT yyy;
- CREATE EVENT ... DO ALTER EVENT yyy;
(the nested ALTER EVENT can have anything but DO clause)
- ALTER EVENT ... DO ALTER EVENT yyy;
(the nested ALTER EVENT can have anything but DO clause)
- ALTER EVENT ... DO DROP EVENT yyy;
- CREATE PROCEDURE ... BEGIN ALTER EVENT ... END|
(the nested ALTER EVENT can have anything but DO clause)
- CREATE PROCEDURE ... BEGIN DROP EVENT ... END|
*/
if (lex->sphead)
{
my_error(ER_EVENT_RECURSION_FORBIDDEN, MYF(0));
MYSQL_YYABORT;
}
sp_head *sp= sp_start_parsing(thd,
enum_sp_type::EVENT,
lex->event_parse_data->identifier);
if (!sp)
MYSQL_YYABORT;
lex->sphead= sp;
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
sp->m_chistics= &lex->sp_chistics;
/*
Set a body start to the end of the last preprocessed token
before ev_sql_stmt:
*/
sp->set_body_start(thd, (yylsp[0]).cpp.end);
}
#line 24654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 250:
#line 3197 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_finish_parsing(thd);
lex->sp_chistics.suid= SP_IS_SUID; //always the definer!
lex->event_parse_data->body_changed= true;
}
#line 24668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 264:
#line 3226 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!(yyvsp[-2].lexer.lex_str).str ||
(check_and_convert_db_name(&(yyvsp[-2].lexer.lex_str), false) != Ident_name_check::OK))
MYSQL_YYABORT;
if (sp_check_name(&(yyvsp[0].lexer.lex_str)))
{
MYSQL_YYABORT;
}
(yyval.spname)= new (YYMEM_ROOT) sp_name(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str), true);
if ((yyval.spname) == NULL)
MYSQL_YYABORT;
(yyval.spname)->init_qname(YYTHD);
}
#line 24686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 265:
#line 3240 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
LEX_CSTRING db;
if (sp_check_name(&(yyvsp[0].lexer.lex_str)))
{
MYSQL_YYABORT;
}
if (lex->copy_db_to(&db.str, &db.length))
MYSQL_YYABORT;
(yyval.spname)= new (YYMEM_ROOT) sp_name(db, (yyvsp[0].lexer.lex_str), false);
if ((yyval.spname) == NULL)
MYSQL_YYABORT;
(yyval.spname)->init_qname(thd);
}
#line 24706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 266:
#line 3258 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24712 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 267:
#line 3259 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 268:
#line 3263 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 269:
#line 3264 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24730 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 270:
#line 3270 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.comment= to_lex_cstring((yyvsp[0].lexer.lex_str)); }
#line 24736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 271:
#line 3272 "sql_yacc.yy" /* yacc.c:1646 */
{ /* Just parse it, we only have one language for now. */ }
#line 24742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 272:
#line 3274 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.daccess= SP_NO_SQL; }
#line 24748 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 273:
#line 3276 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.daccess= SP_CONTAINS_SQL; }
#line 24754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 274:
#line 3278 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.daccess= SP_READS_SQL_DATA; }
#line 24760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 275:
#line 3280 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; }
#line 24766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 276:
#line 3282 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 277:
#line 3287 "sql_yacc.yy" /* yacc.c:1646 */
{ }
#line 24778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 278:
#line 3288 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.detistic= true; }
#line 24784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 279:
#line 3289 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sp_chistics.detistic= false; }
#line 24790 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 280:
#line 3294 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sp_chistics.suid= SP_IS_SUID;
}
#line 24798 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 281:
#line 3298 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sp_chistics.suid= SP_IS_NOT_SUID;
}
#line 24806 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 282:
#line 3305 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_call((yyvsp[-1].spname), (yyvsp[0].item_list2));
}
#line 24814 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 283:
#line 3311 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= NULL; }
#line 24820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 284:
#line 3313 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= (yyvsp[-1].item_list2);
}
#line 24828 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 289:
#line 3331 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
CONTEXTUALIZE((yyvsp[-1].type));
enum_field_types field_type= (yyvsp[-1].type)->type;
const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset();
if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs))
MYSQL_YYABORT;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (sp_check_name(&(yyvsp[-2].lexer.lex_str)))
MYSQL_YYABORT;
if (pctx->find_variable((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length, true))
{
my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lexer.lex_str).str);
MYSQL_YYABORT;
}
sp_variable *spvar= pctx->add_variable(thd,
(yyvsp[-2].lexer.lex_str),
field_type,
sp_variable::MODE_IN);
if (spvar->field_def.init(thd, "", field_type,
(yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(),
(yyvsp[-1].type)->get_type_flags(),
NULL, NULL, &NULL_CSTR, 0,
(yyvsp[-1].type)->get_interval_list(),
cs ? cs : thd->variables.collation_database,
(yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(),
nullptr, nullptr, {},
dd::Column::enum_hidden_type::HT_VISIBLE))
{
MYSQL_YYABORT;
}
if (prepare_sp_create_field(thd,
&spvar->field_def))
{
MYSQL_YYABORT;
}
spvar->field_def.field_name= spvar->name.str;
spvar->field_def.maybe_null= true;
}
#line 24880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 294:
#line 3393 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (sp_check_name(&(yyvsp[-2].lexer.lex_str)))
MYSQL_YYABORT;
if (pctx->find_variable((yyvsp[-2].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).length, true))
{
my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lexer.lex_str).str);
MYSQL_YYABORT;
}
CONTEXTUALIZE((yyvsp[-1].type));
enum_field_types field_type= (yyvsp[-1].type)->type;
const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset();
if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs))
MYSQL_YYABORT;
sp_variable *spvar= pctx->add_variable(thd,
(yyvsp[-2].lexer.lex_str),
field_type,
(sp_variable::enum_mode) (yyvsp[-3].num));
if (spvar->field_def.init(thd, "", field_type,
(yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(),
(yyvsp[-1].type)->get_type_flags(),
NULL, NULL, &NULL_CSTR, 0,
(yyvsp[-1].type)->get_interval_list(),
cs ? cs : thd->variables.collation_database,
(yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(),
nullptr, nullptr, {},
dd::Column::enum_hidden_type::HT_VISIBLE))
{
MYSQL_YYABORT;
}
if (prepare_sp_create_field(thd,
&spvar->field_def))
{
MYSQL_YYABORT;
}
spvar->field_def.field_name= spvar->name.str;
spvar->field_def.maybe_null= true;
}
#line 24931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 295:
#line 3442 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_variable::MODE_IN; }
#line 24937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 296:
#line 3443 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_variable::MODE_IN; }
#line 24943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 297:
#line 3444 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_variable::MODE_OUT; }
#line 24949 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 298:
#line 3445 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_variable::MODE_INOUT; }
#line 24955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 299:
#line 3449 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24961 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 301:
#line 3454 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 24967 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 303:
#line 3460 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
}
#line 24975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 304:
#line 3464 "sql_yacc.yy" /* yacc.c:1646 */
{
/* We check for declarations out of (standard) order this way
because letting the grammar rules reflect it caused tricky
shift/reduce conflicts with the wrong result. (And we get
better error handling this way.) */
if (((yyvsp[-1].spblock).vars || (yyvsp[-1].spblock).conds) && ((yyvsp[-2].spblock).curs || (yyvsp[-2].spblock).hndlrs))
{ /* Variable or condition following cursor or handler */
my_error(ER_SP_VARCOND_AFTER_CURSHNDLR, MYF(0));
MYSQL_YYABORT;
}
if ((yyvsp[-1].spblock).curs && (yyvsp[-2].spblock).hndlrs)
{ /* Cursor following handler */
my_error(ER_SP_CURSOR_AFTER_HANDLER, MYF(0));
MYSQL_YYABORT;
}
(yyval.spblock).vars= (yyvsp[-2].spblock).vars + (yyvsp[-1].spblock).vars;
(yyval.spblock).conds= (yyvsp[-2].spblock).conds + (yyvsp[-1].spblock).conds;
(yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs;
(yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs;
}
#line 25000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 305:
#line 3492 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$6*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp->reset_lex(thd);
lex= thd->lex;
pctx->declare_var_boundary((yyvsp[-3].num));
CONTEXTUALIZE((yyvsp[-2].type));
enum enum_field_types var_type= (yyvsp[-2].type)->type;
const CHARSET_INFO *cs= (yyvsp[-2].type)->get_charset();
if (merge_sp_var_charset_and_collation(cs, (yyvsp[-1].lexer.charset), &cs))
MYSQL_YYABORT;
uint num_vars= pctx->context_var_count();
Item *dflt_value_item= (yyvsp[0].sp_default).expr;
LEX_CSTRING dflt_value_query= EMPTY_CSTR;
if (dflt_value_item)
{
ITEMIZE(dflt_value_item, &dflt_value_item);
const char *expr_start_ptr= (yyvsp[0].sp_default).expr_start;
if (lex->is_metadata_used())
{
dflt_value_query= make_string(thd, expr_start_ptr,
(yylsp[0]).raw.end);
if (!dflt_value_query.str)
MYSQL_YYABORT;
}
}
else
{
dflt_value_item= NEW_PTN Item_null();
if (dflt_value_item == NULL)
MYSQL_YYABORT;
}
// We can have several variables in DECLARE statement.
// We need to create an sp_instr_set instruction for each variable.
for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++)
{
uint var_idx= pctx->var_context2runtime(i);
sp_variable *spvar= pctx->find_variable(var_idx);
if (!spvar)
MYSQL_YYABORT;
spvar->type= var_type;
spvar->default_value= dflt_value_item;
if (spvar->field_def.init(thd, "", var_type,
(yyvsp[-2].type)->get_length(), (yyvsp[-2].type)->get_dec(),
(yyvsp[-2].type)->get_type_flags(),
NULL, NULL, &NULL_CSTR, 0,
(yyvsp[-2].type)->get_interval_list(),
cs ? cs : thd->variables.collation_database,
(yyvsp[-1].lexer.charset) != nullptr, (yyvsp[-2].type)->get_uint_geom_type(),
nullptr, nullptr, {},
dd::Column::enum_hidden_type::HT_VISIBLE))
{
MYSQL_YYABORT;
}
if (prepare_sp_create_field(thd, &spvar->field_def))
MYSQL_YYABORT;
spvar->field_def.field_name= spvar->name.str;
spvar->field_def.maybe_null= true;
/* The last instruction is responsible for freeing LEX. */
sp_instr_set *is= NEW_PTN sp_instr_set(sp->instructions(),
lex,
var_idx,
dflt_value_item,
dflt_value_query,
(i == num_vars - 1));
if (!is || sp->add_instr(thd, is))
MYSQL_YYABORT;
}
pctx->declare_var_boundary(0);
if (sp->restore_lex(thd))
MYSQL_YYABORT;
(yyval.spblock).vars= (yyvsp[-3].num);
(yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
}
#line 25099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 306:
#line 3587 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (pctx->find_condition((yyvsp[-3].lexer.lex_str), true))
{
my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[-3].lexer.lex_str).str);
MYSQL_YYABORT;
}
if(pctx->add_condition(thd, (yyvsp[-3].lexer.lex_str), (yyvsp[0].spcondvalue)))
MYSQL_YYABORT;
lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // DECLARE COND FOR
(yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
(yyval.spblock).conds= 1;
}
#line 25120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 307:
#line 3604 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *parent_pctx= lex->get_sp_current_parsing_ctx();
sp_pcontext *handler_pctx=
parent_pctx->push_context(thd, sp_pcontext::HANDLER_SCOPE);
sp_handler *h=
parent_pctx->add_handler(thd, (sp_handler::enum_type) (yyvsp[-2].num));
lex->set_sp_current_parsing_ctx(handler_pctx);
sp_instr_hpush_jump *i=
NEW_PTN sp_instr_hpush_jump(sp->instructions(), handler_pctx, h);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
if ((yyvsp[-2].num) == sp_handler::CONTINUE)
{
// Mark the end of CONTINUE handler scope.
if (sp->m_parser_data.add_backpatch_entry(
i, handler_pctx->last_label()))
{
MYSQL_YYABORT;
}
}
if (sp->m_parser_data.add_backpatch_entry(
i, handler_pctx->push_label(thd, EMPTY_CSTR, 0)))
{
MYSQL_YYABORT;
}
lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // DECL HANDLER FOR
}
#line 25165 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 308:
#line 3645 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *hlab= pctx->pop_label(); /* After this hdlr */
if ((yyvsp[-5].num) == sp_handler::CONTINUE)
{
sp_instr_hreturn *i=
NEW_PTN sp_instr_hreturn(sp->instructions(), pctx);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
else
{ /* EXIT or UNDO handler, just jump to the end of the block */
sp_instr_hreturn *i=
NEW_PTN sp_instr_hreturn(sp->instructions(), pctx);
if (i == NULL ||
sp->add_instr(thd, i) ||
sp->m_parser_data.add_backpatch_entry(i, pctx->last_label()))
MYSQL_YYABORT;
}
sp->m_parser_data.do_backpatch(hlab, sp->instructions());
lex->set_sp_current_parsing_ctx(pctx->pop_context());
(yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0;
(yyval.spblock).hndlrs= 1;
}
#line 25203 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 309:
#line 3682 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$5*/
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
sp->m_parser_data.set_current_stmt_start_ptr((yylsp[0]).raw.end);
}
#line 25216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 310:
#line 3691 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$7*/
MAKE_CMD((yyvsp[0].top_level_node));
THD *thd= YYTHD;
LEX *cursor_lex= Lex;
sp_head *sp= cursor_lex->sphead;
DBUG_ASSERT(cursor_lex->sql_command == SQLCOM_SELECT);
if (cursor_lex->result)
{
my_error(ER_SP_BAD_CURSOR_SELECT, MYF(0));
MYSQL_YYABORT;
}
cursor_lex->sp_lex_in_use= true;
if (sp->restore_lex(thd))
MYSQL_YYABORT;
LEX *lex= Lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
uint offp;
if (pctx->find_cursor((yyvsp[-4].lexer.lex_str), &offp, true))
{
my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[-4].lexer.lex_str).str);
delete cursor_lex;
MYSQL_YYABORT;
}
LEX_CSTRING cursor_query= EMPTY_CSTR;
if (cursor_lex->is_metadata_used())
{
cursor_query=
make_string(thd,
sp->m_parser_data.get_current_stmt_start_ptr(),
(yylsp[0]).raw.end);
if (!cursor_query.str)
MYSQL_YYABORT;
}
sp_instr_cpush *i=
NEW_PTN sp_instr_cpush(sp->instructions(), pctx,
cursor_lex, cursor_query,
pctx->current_cursor_count());
if (i == NULL ||
sp->add_instr(thd, i) ||
pctx->add_cursor((yyvsp[-4].lexer.lex_str)))
{
MYSQL_YYABORT;
}
(yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0;
(yyval.spblock).curs= 1;
}
#line 25281 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 311:
#line 3754 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_handler::EXIT; }
#line 25287 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 312:
#line 3755 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= sp_handler::CONTINUE; }
#line 25293 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 313:
#line 3761 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 25299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 314:
#line 3763 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)+= 1; }
#line 25305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 315:
#line 3768 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_pcontext *parent_pctx= pctx->parent_context();
if (parent_pctx->check_duplicate_handler((yyvsp[0].spcondvalue)))
{
my_error(ER_SP_DUP_HANDLER, MYF(0));
MYSQL_YYABORT;
}
else
{
sp_instr_hpush_jump *i=
(sp_instr_hpush_jump *)sp->last_instruction();
i->add_condition((yyvsp[0].spcondvalue));
}
}
#line 25329 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 316:
#line 3791 "sql_yacc.yy" /* yacc.c:1646 */
{ /* mysql errno */
if ((yyvsp[0].ulong_num) == 0)
{
my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0");
MYSQL_YYABORT;
}
(yyval.spcondvalue)= NEW_PTN sp_condition_value((yyvsp[0].ulong_num));
if ((yyval.spcondvalue) == NULL)
MYSQL_YYABORT;
}
#line 25344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 318:
#line 3806 "sql_yacc.yy" /* yacc.c:1646 */
{ /* SQLSTATE */
/*
An error is triggered:
- if the specified string is not a valid SQLSTATE,
- or if it represents the completion condition -- it is not
allowed to SIGNAL, or declare a handler for the completion
condition.
*/
if (!is_sqlstate_valid(&(yyvsp[0].lexer.lex_str)) || is_sqlstate_completion((yyvsp[0].lexer.lex_str).str))
{
my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
(yyval.spcondvalue)= NEW_PTN sp_condition_value((yyvsp[0].lexer.lex_str).str);
if ((yyval.spcondvalue) == NULL)
MYSQL_YYABORT;
}
#line 25367 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 319:
#line 3827 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 25373 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 320:
#line 3828 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 25379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 321:
#line 3833 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.spcondvalue)= (yyvsp[0].spcondvalue);
}
#line 25387 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 322:
#line 3837 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
(yyval.spcondvalue)= pctx->find_condition((yyvsp[0].lexer.lex_str), false);
if ((yyval.spcondvalue) == NULL)
{
my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 25404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 323:
#line 3850 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::WARNING);
if ((yyval.spcondvalue) == NULL)
MYSQL_YYABORT;
}
#line 25414 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 324:
#line 3856 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::NOT_FOUND);
if ((yyval.spcondvalue) == NULL)
MYSQL_YYABORT;
}
#line 25424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 325:
#line 3862 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.spcondvalue)= NEW_PTN sp_condition_value(sp_condition_value::EXCEPTION);
if ((yyval.spcondvalue) == NULL)
MYSQL_YYABORT;
}
#line 25434 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 326:
#line 3871 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_SIGNAL;
lex->m_sql_cmd= NEW_PTN Sql_cmd_signal((yyvsp[-1].spcondvalue), (yyvsp[0].signal_item_list));
if (lex->m_sql_cmd == NULL)
MYSQL_YYABORT;
}
#line 25448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 327:
#line 3884 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (!pctx)
{
/* SIGNAL foo cannot be used outside of stored programs */
my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
sp_condition_value *cond= pctx->find_condition((yyvsp[0].lexer.lex_str), false);
if (!cond)
{
my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
if (cond->type != sp_condition_value::SQLSTATE)
{
my_error(ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0));
MYSQL_YYABORT;
}
(yyval.spcondvalue)= cond;
}
#line 25478 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 328:
#line 3910 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.spcondvalue)= (yyvsp[0].spcondvalue); }
#line 25484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 329:
#line 3915 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.spcondvalue)= NULL; }
#line 25490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 330:
#line 3917 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.spcondvalue)= (yyvsp[0].spcondvalue); }
#line 25496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 331:
#line 3922 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.signal_item_list)= NEW_PTN Set_signal_information(); }
#line 25502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 332:
#line 3924 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.signal_item_list)= (yyvsp[0].signal_item_list); }
#line 25508 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 333:
#line 3929 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.signal_item_list)= NEW_PTN Set_signal_information();
if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 25518 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 334:
#line 3936 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.signal_item_list)= (yyvsp[-4].signal_item_list);
if ((yyval.signal_item_list)->set_item((yyvsp[-2].da_condition_item_name), (yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 25528 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 335:
#line 3948 "sql_yacc.yy" /* yacc.c:1646 */
{ ITEMIZE((yyvsp[0].item), &(yyval.item)); }
#line 25534 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 336:
#line 3950 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
if ((yyvsp[0].item)->type() == Item::FUNC_ITEM)
{
Item_func *item= (Item_func*) (yyvsp[0].item);
if (item->functype() == Item_func::SUSERVAR_FUNC)
{
/*
Don't allow the following syntax:
SIGNAL/RESIGNAL ...
SET <signal condition item name> = @foo := expr
*/
YYTHD->syntax_error();
MYSQL_YYABORT;
}
}
(yyval.item)= (yyvsp[0].item);
}
#line 25558 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 337:
#line 3970 "sql_yacc.yy" /* yacc.c:1646 */
{ ITEMIZE((yyvsp[0].item), &(yyval.item)); }
#line 25564 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 338:
#line 3976 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CLASS_ORIGIN; }
#line 25570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 339:
#line 3978 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_SUBCLASS_ORIGIN; }
#line 25576 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 340:
#line 3980 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CONSTRAINT_CATALOG; }
#line 25582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 341:
#line 3982 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CONSTRAINT_SCHEMA; }
#line 25588 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 342:
#line 3984 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CONSTRAINT_NAME; }
#line 25594 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 343:
#line 3986 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CATALOG_NAME; }
#line 25600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 344:
#line 3988 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_SCHEMA_NAME; }
#line 25606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 345:
#line 3990 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_TABLE_NAME; }
#line 25612 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 346:
#line 3992 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_COLUMN_NAME; }
#line 25618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 347:
#line 3994 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_CURSOR_NAME; }
#line 25624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 348:
#line 3996 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_MESSAGE_TEXT; }
#line 25630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 349:
#line 3998 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.da_condition_item_name)= CIN_MYSQL_ERRNO; }
#line 25636 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 350:
#line 4003 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_RESIGNAL;
lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // RESIGNAL doesn't clear diagnostics
lex->m_sql_cmd= NEW_PTN Sql_cmd_resignal((yyvsp[-1].spcondvalue), (yyvsp[0].signal_item_list));
if (lex->m_sql_cmd == NULL)
MYSQL_YYABORT;
}
#line 25651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 351:
#line 4017 "sql_yacc.yy" /* yacc.c:1646 */
{
Diagnostics_information *info= (yyvsp[0].diag_info);
info->set_which_da((yyvsp[-2].diag_area));
Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // GET DIAGS doesn't clear them.
Lex->sql_command= SQLCOM_GET_DIAGNOSTICS;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_get_diagnostics(info);
if (Lex->m_sql_cmd == NULL)
MYSQL_YYABORT;
}
#line 25668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 352:
#line 4033 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; }
#line 25674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 353:
#line 4035 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.diag_area)= Diagnostics_information::CURRENT_AREA; }
#line 25680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 354:
#line 4037 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.diag_area)= Diagnostics_information::STACKED_AREA; }
#line 25686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 355:
#line 4042 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.diag_info)= NEW_PTN Statement_information((yyvsp[0].stmt_info_list));
if ((yyval.diag_info) == NULL)
MYSQL_YYABORT;
}
#line 25696 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 356:
#line 4048 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.diag_info)= NEW_PTN Condition_information((yyvsp[-1].item), (yyvsp[0].cond_info_list));
if ((yyval.diag_info) == NULL)
MYSQL_YYABORT;
}
#line 25706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 357:
#line 4057 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.stmt_info_list)= NEW_PTN List<Statement_information_item>;
if ((yyval.stmt_info_list) == NULL || (yyval.stmt_info_list)->push_back((yyvsp[0].stmt_info_item)))
MYSQL_YYABORT;
}
#line 25716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 358:
#line 4063 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].stmt_info_list)->push_back((yyvsp[0].stmt_info_item)))
MYSQL_YYABORT;
(yyval.stmt_info_list)= (yyvsp[-2].stmt_info_list);
}
#line 25726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 359:
#line 4072 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.stmt_info_item)= NEW_PTN Statement_information_item((yyvsp[0].stmt_info_item_name), (yyvsp[-2].item));
if ((yyval.stmt_info_item) == NULL)
MYSQL_YYABORT;
}
#line 25736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 360:
#line 4080 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
/*
NOTE: lex->sphead is NULL if we're parsing something like
'GET DIAGNOSTICS v' outside a stored program. We should throw
ER_SP_UNDECLARED_VAR in such cases.
*/
if (!sp)
{
my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
(yyval.item)=
create_item_for_sp_var(
thd, to_lex_cstring((yyvsp[0].lexer.lex_str)), NULL,
sp->m_parser_data.get_current_stmt_start_ptr(),
(yylsp[0]).raw.start,
(yylsp[0]).raw.end);
if ((yyval.item) == NULL)
MYSQL_YYABORT;
}
#line 25768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 361:
#line 4108 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_get_user_var((yyloc), (yyvsp[0].lexer.lex_str));
ITEMIZE((yyval.item), &(yyval.item));
}
#line 25777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 362:
#line 4116 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.stmt_info_item_name)= Statement_information_item::NUMBER; }
#line 25783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 363:
#line 4118 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.stmt_info_item_name)= Statement_information_item::ROW_COUNT; }
#line 25789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 364:
#line 4127 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 25795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 365:
#line 4132 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cond_info_list)= NEW_PTN List<Condition_information_item>;
if ((yyval.cond_info_list) == NULL || (yyval.cond_info_list)->push_back((yyvsp[0].cond_info_item)))
MYSQL_YYABORT;
}
#line 25805 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 366:
#line 4138 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].cond_info_list)->push_back((yyvsp[0].cond_info_item)))
MYSQL_YYABORT;
(yyval.cond_info_list)= (yyvsp[-2].cond_info_list);
}
#line 25815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 367:
#line 4147 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cond_info_item)= NEW_PTN Condition_information_item((yyvsp[0].cond_info_item_name), (yyvsp[-2].item));
if ((yyval.cond_info_item) == NULL)
MYSQL_YYABORT;
}
#line 25825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 368:
#line 4155 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CLASS_ORIGIN; }
#line 25831 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 369:
#line 4157 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::SUBCLASS_ORIGIN; }
#line 25837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 370:
#line 4159 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_CATALOG; }
#line 25843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 371:
#line 4161 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_SCHEMA; }
#line 25849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 372:
#line 4163 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CONSTRAINT_NAME; }
#line 25855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 373:
#line 4165 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CATALOG_NAME; }
#line 25861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 374:
#line 4167 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::SCHEMA_NAME; }
#line 25867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 375:
#line 4169 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::TABLE_NAME; }
#line 25873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 376:
#line 4171 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::COLUMN_NAME; }
#line 25879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 377:
#line 4173 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::CURSOR_NAME; }
#line 25885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 378:
#line 4175 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::MESSAGE_TEXT; }
#line 25891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 379:
#line 4177 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::MYSQL_ERRNO; }
#line 25897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 380:
#line 4179 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.cond_info_item_name)= Condition_information_item::RETURNED_SQLSTATE; }
#line 25903 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 381:
#line 4184 "sql_yacc.yy" /* yacc.c:1646 */
{
/* NOTE: field definition is filled in sp_decl section. */
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, true))
{
my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
pctx->add_variable(thd,
(yyvsp[0].lexer.lex_str),
MYSQL_TYPE_DECIMAL,
sp_variable::MODE_IN);
(yyval.num)= 1;
}
#line 25927 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 382:
#line 4204 "sql_yacc.yy" /* yacc.c:1646 */
{
/* NOTE: field definition is filled in sp_decl section. */
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
if (pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, true))
{
my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
pctx->add_variable(thd,
(yyvsp[0].lexer.lex_str),
MYSQL_TYPE_DECIMAL,
sp_variable::MODE_IN);
(yyval.num)= (yyvsp[-2].num) + 1;
}
#line 25951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 383:
#line 4227 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sp_default).expr_start= NULL;
(yyval.sp_default).expr = NULL;
}
#line 25960 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 384:
#line 4232 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sp_default).expr_start= (yylsp[-1]).raw.end;
(yyval.sp_default).expr= (yyvsp[0].item);
}
#line 25969 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 398:
#line 4256 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sphead->m_parser_data.new_cont_backpatch(); }
#line 25975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 399:
#line 4258 "sql_yacc.yy" /* yacc.c:1646 */
{
sp_head *sp= Lex->sphead;
sp->m_parser_data.do_cont_backpatch(sp->instructions());
}
#line 25985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 400:
#line 4266 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
sp->m_parser_data.set_current_stmt_start_ptr(yylloc.raw.start);
}
#line 25998 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 401:
#line 4275 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].top_level_node) != nullptr)
MAKE_CMD((yyvsp[0].top_level_node));
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->m_flags|= sp_get_flags_for_command(lex);
if (lex->sql_command == SQLCOM_CHANGE_DB)
{ /* "USE db" doesn't work in a procedure */
my_error(ER_SP_BADSTATEMENT, MYF(0), "USE");
MYSQL_YYABORT;
}
/*
Don't add an instruction for SET statements, since all
instructions for them were already added during processing
of "set" rule.
*/
DBUG_ASSERT((lex->sql_command != SQLCOM_SET_OPTION &&
lex->sql_command != SQLCOM_SET_PASSWORD) ||
lex->var_list.is_empty());
if (lex->sql_command != SQLCOM_SET_OPTION &&
lex->sql_command != SQLCOM_SET_PASSWORD)
{
/* Extract the query statement from the tokenizer. */
LEX_CSTRING query=
make_string(thd,
sp->m_parser_data.get_current_stmt_start_ptr(),
(yylsp[0]).raw.end);
if (!query.str)
MYSQL_YYABORT;
/* Add instruction. */
sp_instr_stmt *i=
NEW_PTN sp_instr_stmt(sp->instructions(), lex, query);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
if (sp->restore_lex(thd))
MYSQL_YYABORT;
}
#line 26050 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 402:
#line 4326 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$2*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26062 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 403:
#line 4334 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
/* Extract expression string. */
LEX_CSTRING expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!expr_query.str)
MYSQL_YYABORT;
}
/* Check that this is a stored function. */
if (sp->m_type != enum_sp_type::FUNCTION)
{
my_error(ER_SP_BADRETURN, MYF(0));
MYSQL_YYABORT;
}
/* Indicate that we've reached RETURN statement. */
sp->m_flags|= sp_head::HAS_RETURN;
/* Add instruction. */
sp_instr_freturn *i=
NEW_PTN sp_instr_freturn(sp->instructions(), lex, (yyvsp[0].item), expr_query,
sp->m_return_field_def.sql_type);
if (i == NULL ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26112 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 404:
#line 4382 "sql_yacc.yy" /* yacc.c:1646 */
{ /* Unlabeled controls get a secret label. */
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
pctx->push_label(thd,
EMPTY_CSTR,
sp->instructions());
}
#line 26127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 405:
#line 4393 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp->m_parser_data.do_backpatch(pctx->pop_label(),
sp->instructions());
}
#line 26140 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 406:
#line 4405 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp = lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->find_label((yyvsp[0].lex_cstr));
if (! lab)
{
my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[0].lex_cstr).str);
MYSQL_YYABORT;
}
uint ip= sp->instructions();
/*
When jumping to a BEGIN-END block end, the target jump
points to the block hpop/cpop cleanup instructions,
so we should exclude the block context here.
When jumping to something else (i.e., sp_label::ITERATION),
there are no hpop/cpop at the jump destination,
so we should include the block context here for cleanup.
*/
bool exclusive= (lab->type == sp_label::BEGIN);
size_t n= pctx->diff_handlers(lab->ctx, exclusive);
if (n)
{
sp_instr_hpop *hpop= NEW_PTN sp_instr_hpop(ip++, pctx);
if (!hpop || sp->add_instr(thd, hpop))
MYSQL_YYABORT;
}
n= pctx->diff_cursors(lab->ctx, exclusive);
if (n)
{
sp_instr_cpop *cpop= NEW_PTN sp_instr_cpop(ip++, pctx, n);
if (!cpop || sp->add_instr(thd, cpop))
MYSQL_YYABORT;
}
sp_instr_jump *i= NEW_PTN sp_instr_jump(ip, pctx);
if (!i ||
/* Jumping forward */
sp->m_parser_data.add_backpatch_entry(i, lab) ||
sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 407:
#line 4462 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->find_label((yyvsp[0].lex_cstr));
if (! lab || lab->type != sp_label::ITERATION)
{
my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[0].lex_cstr).str);
MYSQL_YYABORT;
}
uint ip= sp->instructions();
/* Inclusive the dest. */
size_t n= pctx->diff_handlers(lab->ctx, false);
if (n)
{
sp_instr_hpop *hpop= NEW_PTN sp_instr_hpop(ip++, pctx);
if (!hpop || sp->add_instr(thd, hpop))
MYSQL_YYABORT;
}
/* Inclusive the dest. */
n= pctx->diff_cursors(lab->ctx, false);
if (n)
{
sp_instr_cpop *cpop= NEW_PTN sp_instr_cpop(ip++, pctx, n);
if (!cpop || sp->add_instr(thd, cpop))
MYSQL_YYABORT;
}
/* Jump back */
sp_instr_jump *i= NEW_PTN sp_instr_jump(ip, pctx, lab->ip);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 408:
#line 4509 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
uint offset;
if (! pctx->find_cursor((yyvsp[0].lexer.lex_str), &offset, false))
{
my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
sp_instr_copen *i= NEW_PTN sp_instr_copen(sp->instructions(), pctx,
offset);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 409:
#line 4532 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
uint offset;
if (! pctx->find_cursor((yyvsp[-1].lexer.lex_str), &offset, false))
{
my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[-1].lexer.lex_str).str);
MYSQL_YYABORT;
}
sp_instr_cfetch *i= NEW_PTN sp_instr_cfetch(sp->instructions(),
pctx, offset);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26294 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 410:
#line 4552 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 26300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 411:
#line 4557 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
uint offset;
if (! pctx->find_cursor((yyvsp[0].lexer.lex_str), &offset, false))
{
my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
sp_instr_cclose *i=
NEW_PTN sp_instr_cclose(sp->instructions(), pctx, offset);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26324 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 415:
#line 4586 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_variable *spv;
if (!pctx || !(spv= pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, false)))
{
my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
/* An SP local variable */
sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
i->add_to_varlist(spv);
}
#line 26346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 416:
#line 4604 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_variable *spv;
if (!pctx || !(spv= pctx->find_variable((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, false)))
{
my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
/* An SP local variable */
sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
i->add_to_varlist(spv);
}
#line 26368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 417:
#line 4624 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$1*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 418:
#line 4632 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$3*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
/* Extract expression string. */
LEX_CSTRING expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!expr_query.str)
MYSQL_YYABORT;
}
sp_instr_jump_if_not *i =
NEW_PTN sp_instr_jump_if_not(sp->instructions(), lex,
(yyvsp[0].item), expr_query);
/* Add jump instruction. */
if (i == NULL ||
sp->m_parser_data.add_backpatch_entry(
i, pctx->push_label(thd, EMPTY_CSTR, 0)) ||
sp->m_parser_data.add_cont_backpatch_entry(i) ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26421 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 419:
#line 4670 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$6*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_instr_jump *i = NEW_PTN sp_instr_jump(sp->instructions(), pctx);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
sp->m_parser_data.do_backpatch(pctx->pop_label(),
sp->instructions());
sp->m_parser_data.add_backpatch_entry(
i, pctx->push_label(thd, EMPTY_CSTR, 0));
}
#line 26443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 420:
#line 4688 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$8*/
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp->m_parser_data.do_backpatch(pctx->pop_label(),
sp->instructions());
}
#line 26456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 426:
#line 4711 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$2*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
case_stmt_action_case(thd);
sp->reset_lex(thd); /* For CASE-expr $3 */
}
#line 26470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 427:
#line 4721 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
/* Extract CASE-expression string. */
LEX_CSTRING case_expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
case_expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!case_expr_query.str)
MYSQL_YYABORT;
}
/* Register new CASE-expression and get its id. */
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
int case_expr_id= pctx->push_case_expr_id();
if (case_expr_id < 0)
MYSQL_YYABORT;
/* Add CASE-set instruction. */
sp_instr_set_case_expr *i=
NEW_PTN sp_instr_set_case_expr(sp->instructions(), lex,
case_expr_id, (yyvsp[0].item), case_expr_query);
if (i == NULL ||
sp->m_parser_data.add_cont_backpatch_entry(i) ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 428:
#line 4766 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$9*/
case_stmt_action_end_case(Lex, true);
}
#line 26524 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 429:
#line 4773 "sql_yacc.yy" /* yacc.c:1646 */
{
case_stmt_action_case(YYTHD);
}
#line 26532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 430:
#line 4780 "sql_yacc.yy" /* yacc.c:1646 */
{
case_stmt_action_end_case(Lex, false);
}
#line 26540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 435:
#line 4797 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$2*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26552 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 436:
#line 4805 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
/* Simple case: <caseval> = <whenval> */
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
/* Extract expression string. */
LEX_CSTRING when_expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
when_expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!when_expr_query.str)
MYSQL_YYABORT;
}
/* Add CASE-when-jump instruction. */
sp_instr_jump_case_when *i =
NEW_PTN sp_instr_jump_case_when(sp->instructions(), lex,
pctx->get_current_case_expr_id(),
(yyvsp[0].item), when_expr_query);
if (i == NULL ||
i->on_after_expr_parsing(thd) ||
sp->m_parser_data.add_backpatch_entry(
i, pctx->push_label(thd, EMPTY_CSTR, 0)) ||
sp->m_parser_data.add_cont_backpatch_entry(i) ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26597 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 437:
#line 4847 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$7*/
if (case_stmt_action_then(YYTHD, Lex))
MYSQL_YYABORT;
}
#line 26606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 438:
#line 4855 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$2*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 439:
#line 4863 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
/* Extract expression string. */
LEX_CSTRING when_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
when_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!when_query.str)
MYSQL_YYABORT;
}
/* Add jump instruction. */
sp_instr_jump_if_not *i=
NEW_PTN sp_instr_jump_if_not(sp->instructions(), lex, (yyvsp[0].item),
when_query);
if (i == NULL ||
sp->m_parser_data.add_backpatch_entry(
i, pctx->push_label(thd, EMPTY_CSTR, 0)) ||
sp->m_parser_data.add_cont_backpatch_entry(i) ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26659 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 440:
#line 4901 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$8*/
if (case_stmt_action_then(YYTHD, Lex))
MYSQL_YYABORT;
}
#line 26668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 441:
#line 4909 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_instr_error *i=
NEW_PTN
sp_instr_error(sp->instructions(), pctx, ER_SP_CASE_NOT_FOUND);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 443:
#line 4927 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->find_label((yyvsp[-1].lex_cstr));
if (lab)
{
my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_cstr).str);
MYSQL_YYABORT;
}
else
{
lab= pctx->push_label(YYTHD, (yyvsp[-1].lex_cstr), sp->instructions());
lab->type= sp_label::ITERATION;
}
}
#line 26708 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 444:
#line 4945 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->pop_label();
if ((yyvsp[0].lex_cstr).str)
{
if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_cstr).str, lab->name.str) != 0)
{
my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_cstr).str);
MYSQL_YYABORT;
}
}
sp->m_parser_data.do_backpatch(lab, sp->instructions());
}
#line 26729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 445:
#line 4964 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr)= NULL_CSTR; }
#line 26735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 446:
#line 4965 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr)= (yyvsp[0].lex_cstr); }
#line 26741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 447:
#line 4970 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->find_label((yyvsp[-1].lex_cstr));
if (lab)
{
my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_cstr).str);
MYSQL_YYABORT;
}
lab= pctx->push_label(YYTHD, (yyvsp[-1].lex_cstr), sp->instructions());
lab->type= sp_label::BEGIN;
}
#line 26761 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 448:
#line 4986 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab= pctx->pop_label();
if ((yyvsp[0].lex_cstr).str)
{
if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_cstr).str, lab->name.str) != 0)
{
my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_cstr).str);
MYSQL_YYABORT;
}
}
}
#line 26780 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 449:
#line 5003 "sql_yacc.yy" /* yacc.c:1646 */
{ /* Unlabeled blocks get a secret label. */
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_label *lab=
pctx->push_label(YYTHD, EMPTY_CSTR, sp->instructions());
lab->type= sp_label::BEGIN;
}
#line 26795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 450:
#line 5014 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->get_sp_current_parsing_ctx()->pop_label();
}
#line 26804 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 451:
#line 5022 "sql_yacc.yy" /* yacc.c:1646 */
{ /* QQ This is just a dummy for grouping declarations and statements
together. No [[NOT] ATOMIC] yet, and we need to figure out how
make it coexist with the existing BEGIN COMMIT/ROLLBACK. */
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_pcontext *parent_pctx= lex->get_sp_current_parsing_ctx();
sp_pcontext *child_pctx=
parent_pctx->push_context(thd, sp_pcontext::REGULAR_SCOPE);
lex->set_sp_current_parsing_ctx(child_pctx);
}
#line 26821 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 452:
#line 5037 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
// We always have a label.
sp->m_parser_data.do_backpatch(pctx->last_label(),
sp->instructions());
if ((yyvsp[-2].spblock).hndlrs)
{
sp_instr *i= NEW_PTN sp_instr_hpop(sp->instructions(), pctx);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
if ((yyvsp[-2].spblock).curs)
{
sp_instr *i= NEW_PTN sp_instr_cpop(sp->instructions(), pctx,
(yyvsp[-2].spblock).curs);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
lex->set_sp_current_parsing_ctx(pctx->pop_context());
}
#line 26855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 453:
#line 5071 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_instr_jump *i= NEW_PTN sp_instr_jump(sp->instructions(), pctx,
pctx->last_label()->ip);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
}
#line 26872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 454:
#line 5084 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$2*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 455:
#line 5092 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
/* Extract expression string. */
LEX_CSTRING expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!expr_query.str)
MYSQL_YYABORT;
}
/* Add jump instruction. */
sp_instr_jump_if_not *i=
NEW_PTN
sp_instr_jump_if_not(sp->instructions(), lex, (yyvsp[0].item), expr_query);
if (i == NULL ||
/* Jumping forward */
sp->m_parser_data.add_backpatch_entry(i, pctx->last_label()) ||
sp->m_parser_data.new_cont_backpatch() ||
sp->m_parser_data.add_cont_backpatch_entry(i) ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
}
#line 26926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 456:
#line 5133 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$14*/
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
sp_instr_jump *i= NEW_PTN sp_instr_jump(sp->instructions(), pctx,
pctx->last_label()->ip);
if (!i || sp->add_instr(thd, i))
MYSQL_YYABORT;
sp->m_parser_data.do_cont_backpatch(sp->instructions());
}
#line 26945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 457:
#line 5150 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$4*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp->reset_lex(thd);
}
#line 26957 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 458:
#line 5158 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$6*/
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
sp_pcontext *pctx= lex->get_sp_current_parsing_ctx();
uint ip= sp->instructions();
/* Extract expression string. */
LEX_CSTRING expr_query= EMPTY_CSTR;
const char *expr_start_ptr= (yylsp[-2]).raw.end;
if (lex->is_metadata_used())
{
expr_query= make_string(thd, expr_start_ptr, (yylsp[0]).raw.end);
if (!expr_query.str)
MYSQL_YYABORT;
}
/* Add jump instruction. */
sp_instr_jump_if_not *i=
NEW_PTN sp_instr_jump_if_not(ip, lex, (yyvsp[0].item), expr_query,
pctx->last_label()->ip);
if (i == NULL ||
sp->add_instr(thd, i) ||
sp->restore_lex(thd))
{
MYSQL_YYABORT;
}
/* We can shortcut the cont_backpatch here */
i->set_cont_dest(ip + 1);
}
#line 26999 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 460:
#line 5201 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TRG_ACTION_BEFORE; }
#line 27005 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 461:
#line 5203 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TRG_ACTION_AFTER; }
#line 27011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 462:
#line 5208 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TRG_EVENT_INSERT; }
#line 27017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 463:
#line 5210 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TRG_EVENT_UPDATE; }
#line 27023 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 464:
#line 5212 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TRG_EVENT_DELETE; }
#line 27029 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 465:
#line 5226 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= { nullptr, 0}; }
#line 27035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 466:
#line 5228 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str);
}
#line 27043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 467:
#line 5234 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= { nullptr, 0}; }
#line 27049 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 468:
#line 5236 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
}
#line 27057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 469:
#line 5242 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 27063 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 471:
#line 5248 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27073 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 472:
#line 5254 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 483:
#line 5275 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 27089 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 485:
#line 5281 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 486:
#line 5287 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27109 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 493:
#line 5304 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 27115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 495:
#line 5310 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; // OOM
}
#line 27125 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 496:
#line 5316 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; // OOM
}
#line 27135 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 498:
#line 5328 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 27141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 500:
#line 5334 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27151 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 501:
#line 5340 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 509:
#line 5358 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 27167 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 511:
#line 5364 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 512:
#line 5370 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 27187 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 516:
#line 5384 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 27193 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 517:
#line 5388 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.alter_tablespace_type)= ALTER_UNDO_TABLESPACE_SET_ACTIVE; }
#line 27199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 518:
#line 5389 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.alter_tablespace_type)= ALTER_UNDO_TABLESPACE_SET_INACTIVE; }
#line 27205 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 519:
#line 5393 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 27211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 520:
#line 5398 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_initial_size((yyvsp[0].ulonglong_number));
}
#line 27219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 521:
#line 5405 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_autoextend_size((yyvsp[0].ulonglong_number));
}
#line 27227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 522:
#line 5412 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_max_size((yyvsp[0].ulonglong_number));
}
#line 27235 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 523:
#line 5419 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_extent_size((yyvsp[0].ulonglong_number));
}
#line 27243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 524:
#line 5426 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_undo_buffer_size((yyvsp[0].ulonglong_number));
}
#line 27251 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 525:
#line 5433 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_redo_buffer_size((yyvsp[0].ulonglong_number));
}
#line 27259 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 526:
#line 5440 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_nodegroup((yyvsp[0].ulong_num));
}
#line 27267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 527:
#line 5447 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_comment((yyvsp[0].lexer.lex_str));
}
#line 27275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 528:
#line 5454 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_engine(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 27283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 529:
#line 5461 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_file_block_size((yyvsp[0].ulonglong_number));
}
#line 27291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 530:
#line 5468 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_wait_until_completed(true);
}
#line 27299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 531:
#line 5472 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_wait_until_completed(false);
}
#line 27307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 532:
#line 5479 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_option)= NEW_PTN PT_alter_tablespace_option_encryption((yyvsp[0].lexer.lex_str));
}
#line 27315 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 533:
#line 5485 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);}
#line 27321 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 534:
#line 5487 "sql_yacc.yy" /* yacc.c:1646 */
{
ulonglong number;
uint text_shift_number= 0;
longlong prefix_number;
const char *start_ptr= (yyvsp[0].lexer.lex_str).str;
size_t str_len= (yyvsp[0].lexer.lex_str).length;
const char *end_ptr= start_ptr + str_len;
int error;
prefix_number= my_strtoll10(start_ptr, &end_ptr, &error);
if ((start_ptr + str_len - 1) == end_ptr)
{
switch (end_ptr[0])
{
case 'g':
case 'G':
text_shift_number+=10;
// Fall through.
case 'm':
case 'M':
text_shift_number+=10;
// Fall through.
case 'k':
case 'K':
text_shift_number+=10;
break;
default:
{
my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
MYSQL_YYABORT;
}
}
if (prefix_number >> 31)
{
my_error(ER_SIZE_OVERFLOW_ERROR, MYF(0));
MYSQL_YYABORT;
}
number= prefix_number << text_shift_number;
}
else
{
my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
MYSQL_YYABORT;
}
(yyval.ulonglong_number)= number;
}
#line 27371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 535:
#line 5563 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_tail)= (yyvsp[0].create_table_tail);
(yyval.create_table_tail).opt_create_table_options= (yyvsp[-1].create_table_options);
}
#line 27380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 537:
#line 5572 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_tail)= (yyvsp[0].create_table_tail);
(yyval.create_table_tail).opt_partitioning= (yyvsp[-1].partition_clause);
}
#line 27389 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 539:
#line 5581 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_tail).opt_create_table_options= NULL;
(yyval.create_table_tail).opt_partitioning= NULL;
(yyval.create_table_tail).on_duplicate= On_duplicate::ERROR;
(yyval.create_table_tail).opt_query_expression= NULL;
}
#line 27400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 540:
#line 5589 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_tail).opt_create_table_options= NULL;
(yyval.create_table_tail).opt_partitioning= NULL;
(yyval.create_table_tail).on_duplicate= (yyvsp[-1].on_duplicate);
(yyval.create_table_tail).opt_query_expression= (yyvsp[0].query_expression);
}
#line 27411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 541:
#line 5596 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_tail).opt_create_table_options= NULL;
(yyval.create_table_tail).opt_partitioning= NULL;
(yyval.create_table_tail).on_duplicate= On_duplicate::ERROR;
(yyval.create_table_tail).opt_query_expression= (yyvsp[0].query_expression);
}
#line 27422 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 542:
#line 5605 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.query_expression)= (yyvsp[0].query_expression); }
#line 27428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 544:
#line 5622 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.partition_clause)= NEW_PTN PT_partition((yyvsp[-3].part_type_def), (yyvsp[-2].ulong_num), (yyvsp[-1].opt_sub_part), (yylsp[0]), (yyvsp[0].part_def_list));
}
#line 27436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 545:
#line 5629 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_key((yyvsp[-5].is_not_empty), (yyvsp[-3].opt_key_algo), (yyvsp[-1].name_list));
}
#line 27444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 546:
#line 5633 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_hash((yyvsp[-4].is_not_empty), (yylsp[-1]), (yyvsp[-1].item));
}
#line 27452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 547:
#line 5637 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_range_expr((yylsp[-1]), (yyvsp[-1].item));
}
#line 27460 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 548:
#line 5641 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_range_columns((yyvsp[-1].name_list));
}
#line 27468 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 549:
#line 5645 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_list_expr((yylsp[-1]), (yyvsp[-1].item));
}
#line 27476 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 550:
#line 5649 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_type_def)= NEW_PTN PT_part_type_def_list_columns((yyvsp[-1].name_list));
}
#line 27484 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 551:
#line 5655 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 27490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 552:
#line 5656 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 27496 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 553:
#line 5661 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_NONE; }
#line 27502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 554:
#line 5663 "sql_yacc.yy" /* yacc.c:1646 */
{
switch ((yyvsp[0].ulong_num)) {
case 1:
(yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_51;
break;
case 2:
(yyval.opt_key_algo)= enum_key_algorithm::KEY_ALGORITHM_55;
break;
default:
YYTHD->syntax_error();
MYSQL_YYABORT;
}
}
#line 27520 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 555:
#line 5680 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 27526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 556:
#line 5682 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulong_num) == 0)
{
my_error(ER_NO_PARTS_ERROR, MYF(0), "partitions");
MYSQL_YYABORT;
}
(yyval.ulong_num)= (yyvsp[0].ulong_num);
}
#line 27539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 557:
#line 5693 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_sub_part)= NULL; }
#line 27545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 558:
#line 5696 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_sub_part)= NEW_PTN PT_sub_partition_by_hash((yyvsp[-5].is_not_empty), (yylsp[-2]), (yyvsp[-2].item), (yyvsp[0].ulong_num));
}
#line 27553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 559:
#line 5701 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_sub_part)= NEW_PTN PT_sub_partition_by_key((yyvsp[-6].is_not_empty), (yyvsp[-4].opt_key_algo), (yyvsp[-2].name_list), (yyvsp[0].ulong_num));
}
#line 27561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 560:
#line 5708 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.name_list)= NULL; }
#line 27567 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 562:
#line 5715 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.name_list)= NEW_PTN List<char>;
if ((yyval.name_list) == NULL || (yyval.name_list)->push_back((yyvsp[0].lexer.lex_str).str))
MYSQL_YYABORT;
}
#line 27577 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 563:
#line 5721 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.name_list)= (yyvsp[-2].name_list);
if ((yyval.name_list)->push_back((yyvsp[0].lexer.lex_str).str))
MYSQL_YYABORT;
}
#line 27587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 564:
#line 5730 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 27593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 565:
#line 5732 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulong_num) == 0)
{
my_error(ER_NO_PARTS_ERROR, MYF(0), "subpartitions");
MYSQL_YYABORT;
}
(yyval.ulong_num)= (yyvsp[0].ulong_num);
}
#line 27606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 566:
#line 5743 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.part_def_list)= NULL; }
#line 27612 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 567:
#line 5744 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.part_def_list)= (yyvsp[-1].part_def_list); }
#line 27618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 568:
#line 5749 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_def_list)= NEW_PTN Mem_root_array<PT_part_definition*>(YYMEM_ROOT);
if ((yyval.part_def_list) == NULL || (yyval.part_def_list)->push_back((yyvsp[0].part_definition)))
MYSQL_YYABORT; // OOM
}
#line 27628 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 569:
#line 5755 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_def_list)= (yyvsp[-2].part_def_list);
if ((yyval.part_def_list)->push_back((yyvsp[0].part_definition)))
MYSQL_YYABORT; // OOM
}
#line 27638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 570:
#line 5764 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_definition)= NEW_PTN PT_part_definition((yylsp[-5]), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].opt_part_values).type, (yyvsp[-2].opt_part_values).values, (yylsp[-2]),
(yyvsp[-1].partition_option_list), (yyvsp[0].sub_part_list), (yylsp[0]));
}
#line 27647 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 571:
#line 5772 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_part_values).type= partition_type::HASH;
}
#line 27655 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 572:
#line 5776 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_part_values).type= partition_type::RANGE;
(yyval.opt_part_values).values= (yyvsp[0].part_value_item_list_paren);
}
#line 27664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 573:
#line 5781 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_part_values).type= partition_type::LIST;
(yyval.opt_part_values).values= (yyvsp[0].part_values);
}
#line 27673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 574:
#line 5788 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.part_value_item_list_paren)= NULL; }
#line 27679 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 576:
#line 5794 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_values)= NEW_PTN PT_part_values_in_item((yylsp[0]), (yyvsp[0].part_value_item_list_paren));
}
#line 27687 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 577:
#line 5798 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_values)= NEW_PTN PT_part_values_in_list((yylsp[0]), (yyvsp[-1].part_value_list));
}
#line 27695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 578:
#line 5805 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_value_list)= NEW_PTN
Mem_root_array<PT_part_value_item_list_paren *>(YYMEM_ROOT);
if ((yyval.part_value_list) == NULL || (yyval.part_value_list)->push_back((yyvsp[0].part_value_item_list_paren)))
MYSQL_YYABORT; // OOM
}
#line 27706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 579:
#line 5812 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_value_list)= (yyvsp[-2].part_value_list);
if ((yyval.part_value_list)->push_back((yyvsp[0].part_value_item_list_paren)))
MYSQL_YYABORT; // OOM
}
#line 27716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 580:
#line 5821 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
This empty action is required because it resolves 2 reduce/reduce
conflicts with an anonymous row expression:
simple_expr:
...
| '(' expr ',' expr_list ')'
*/
}
#line 27731 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 581:
#line 5832 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_value_item_list_paren)= NEW_PTN PT_part_value_item_list_paren((yyvsp[-1].part_value_item_list), (yylsp[0]));
}
#line 27739 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 582:
#line 5839 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_value_item_list)= NEW_PTN Mem_root_array<PT_part_value_item *>(YYMEM_ROOT);
if ((yyval.part_value_item_list) == NULL || (yyval.part_value_item_list)->push_back((yyvsp[0].part_value_item)))
MYSQL_YYABORT; // OOM
}
#line 27749 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 583:
#line 5845 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.part_value_item_list)= (yyvsp[-2].part_value_item_list);
if ((yyval.part_value_item_list)->push_back((yyvsp[0].part_value_item)))
MYSQL_YYABORT; // OOM
}
#line 27759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 584:
#line 5853 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.part_value_item)= NEW_PTN PT_part_value_item_max((yylsp[0])); }
#line 27765 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 585:
#line 5854 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.part_value_item)= NEW_PTN PT_part_value_item_expr((yylsp[0]), (yyvsp[0].item)); }
#line 27771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 586:
#line 5859 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.sub_part_list)= NULL; }
#line 27777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 587:
#line 5860 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.sub_part_list)= (yyvsp[-1].sub_part_list); }
#line 27783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 588:
#line 5865 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sub_part_list)= NEW_PTN Mem_root_array<PT_subpartition *>(YYMEM_ROOT);
if ((yyval.sub_part_list) == NULL || (yyval.sub_part_list)->push_back((yyvsp[0].sub_part_definition)))
MYSQL_YYABORT; // OOM
}
#line 27793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 589:
#line 5871 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sub_part_list)= (yyvsp[-2].sub_part_list);
if ((yyval.sub_part_list)->push_back((yyvsp[0].sub_part_definition)))
MYSQL_YYABORT; // OOM
}
#line 27803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 590:
#line 5880 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.sub_part_definition)= NEW_PTN PT_subpartition((yylsp[-2]), (yyvsp[-1].lexer.lex_str).str, (yyvsp[0].partition_option_list));
}
#line 27811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 591:
#line 5886 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option_list)= NULL; }
#line 27817 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 593:
#line 5892 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.partition_option_list)= (yyvsp[-1].partition_option_list);
if ((yyval.partition_option_list)->push_back((yyvsp[0].partition_option)))
MYSQL_YYABORT; // OOM
}
#line 27827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 594:
#line 5898 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.partition_option_list)= NEW_PTN Mem_root_array<PT_partition_option *>(YYMEM_ROOT);
if ((yyval.partition_option_list) == NULL || (yyval.partition_option_list)->push_back((yyvsp[0].partition_option)))
MYSQL_YYABORT; // OOM
}
#line 27837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 595:
#line 5907 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_tablespace((yyvsp[0].lexer.lex_str).str); }
#line 27843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 596:
#line 5909 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_engine(to_lex_cstring((yyvsp[0].lexer.lex_str))); }
#line 27849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 597:
#line 5911 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_nodegroup((yyvsp[0].ulong_num)); }
#line 27855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 598:
#line 5913 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_max_rows((yyvsp[0].ulonglong_number)); }
#line 27861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 599:
#line 5915 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_min_rows((yyvsp[0].ulonglong_number)); }
#line 27867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 600:
#line 5917 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_data_directory((yyvsp[0].lexer.lex_str).str); }
#line 27873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 601:
#line 5919 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_index_directory((yyvsp[0].lexer.lex_str).str); }
#line 27879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 602:
#line 5921 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.partition_option)= NEW_PTN PT_partition_comment((yyvsp[0].lexer.lex_str).str); }
#line 27885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 603:
#line 5929 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 27891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 604:
#line 5930 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 27897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 605:
#line 5934 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 27903 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 606:
#line 5935 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 27909 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 607:
#line 5940 "sql_yacc.yy" /* yacc.c:1646 */
{
if (set_default_collation(Lex->create_info, (yyvsp[0].lexer.charset)))
MYSQL_YYABORT;
}
#line 27918 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 608:
#line 5945 "sql_yacc.yy" /* yacc.c:1646 */
{
if (set_default_charset(Lex->create_info, (yyvsp[0].lexer.charset)))
MYSQL_YYABORT;
}
#line 27927 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 609:
#line 5950 "sql_yacc.yy" /* yacc.c:1646 */
{
// Validate if we have either 'y|Y' or 'n|N'
if (my_strcasecmp(system_charset_info, (yyvsp[0].lexer.lex_str).str, "Y") != 0 &&
my_strcasecmp(system_charset_info, (yyvsp[0].lexer.lex_str).str, "N") != 0) {
my_error(ER_WRONG_VALUE, MYF(0), "argument (should be Y or N)", (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
Lex->create_info->encrypt_type= (yyvsp[0].lexer.lex_str);
Lex->create_info->used_fields |= HA_CREATE_USED_DEFAULT_ENCRYPTION;
}
#line 27943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 610:
#line 5964 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 27949 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 611:
#line 5965 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 27955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 612:
#line 5970 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.space_separated_alter_table_opts)= NEW_PTN Mem_root_array<PT_ddl_table_option *>(YYMEM_ROOT);
if ((yyval.space_separated_alter_table_opts) == NULL || (yyval.space_separated_alter_table_opts)->push_back((yyvsp[0].create_table_option)))
MYSQL_YYABORT; // OOM
}
#line 27965 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 613:
#line 5976 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.space_separated_alter_table_opts)= (yyvsp[-1].space_separated_alter_table_opts);
if ((yyval.space_separated_alter_table_opts)->push_back((yyvsp[0].create_table_option)))
MYSQL_YYABORT; // OOM
}
#line 27975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 614:
#line 5985 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_options)= NEW_PTN Mem_root_array<PT_create_table_option *>(YYMEM_ROOT);
if ((yyval.create_table_options) == NULL || (yyval.create_table_options)->push_back((yyvsp[0].create_table_option)))
MYSQL_YYABORT; // OOM
}
#line 27985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 615:
#line 5991 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_options)= (yyvsp[-2].create_table_options);
if ((yyval.create_table_options)->push_back((yyvsp[0].create_table_option)))
MYSQL_YYABORT; // OOM
}
#line 27995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 618:
#line 6005 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_table_engine_option(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 28003 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 619:
#line 6009 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_table_secondary_engine_option();
}
#line 28011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 620:
#line 6013 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_table_secondary_engine_option(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 28019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 621:
#line 6017 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_max_rows_option((yyvsp[0].ulonglong_number));
}
#line 28027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 622:
#line 6021 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_min_rows_option((yyvsp[0].ulonglong_number));
}
#line 28035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 623:
#line 6025 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_avg_row_length_option((yyvsp[0].ulong_num));
}
#line 28043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 624:
#line 6029 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_password_option((yyvsp[0].lexer.lex_str).str);
}
#line 28051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 625:
#line 6033 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_commen_option((yyvsp[0].lexer.lex_str));
}
#line 28059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 626:
#line 6037 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_compress_option((yyvsp[0].lexer.lex_str));
}
#line 28067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 627:
#line 6041 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_encryption_option((yyvsp[0].lexer.lex_str));
}
#line 28075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 628:
#line 6045 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_auto_increment_option((yyvsp[0].ulonglong_number));
}
#line 28083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 629:
#line 6049 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_pack_keys_option((yyvsp[0].ternary_option));
}
#line 28091 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 630:
#line 6053 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_stats_auto_recalc_option((yyvsp[0].ternary_option));
}
#line 28099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 631:
#line 6057 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_stats_persistent_option((yyvsp[0].ternary_option));
}
#line 28107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 632:
#line 6061 "sql_yacc.yy" /* yacc.c:1646 */
{
/* From user point of view STATS_SAMPLE_PAGES can be specified as
STATS_SAMPLE_PAGES=N (where 0<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 ((yyvsp[0].ulong_num) == 0 || (yyvsp[0].ulong_num) > 0xffff)
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
(yyval.create_table_option)= NEW_PTN PT_create_stats_stable_pages((yyvsp[0].ulong_num));
}
#line 28128 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 633:
#line 6078 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_stats_stable_pages;
}
#line 28136 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 634:
#line 6082 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_checksum_option((yyvsp[0].ulong_num));
}
#line 28144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 635:
#line 6086 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_checksum_option((yyvsp[0].ulong_num));
}
#line 28152 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 636:
#line 6090 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_delay_key_write_option((yyvsp[0].ulong_num));
}
#line 28160 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 637:
#line 6094 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_row_format_option((yyvsp[0].row_type));
}
#line 28168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 638:
#line 6098 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_union_option((yyvsp[-1].table_list));
}
#line 28176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 639:
#line 6102 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_table_default_charset((yyvsp[0].lexer.charset));
}
#line 28184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 640:
#line 6106 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_table_default_collation((yyvsp[0].lexer.charset));
}
#line 28192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 641:
#line 6110 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_insert_method_option((yyvsp[0].ulong_num));
}
#line 28200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 642:
#line 6114 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_data_directory_option((yyvsp[0].lexer.lex_str).str);
}
#line 28208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 643:
#line 6118 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_index_directory_option((yyvsp[0].lexer.lex_str).str);
}
#line 28216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 644:
#line 6122 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_tablespace_option((yyvsp[0].lexer.lex_str).str);
}
#line 28224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 645:
#line 6126 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_storage_option(HA_SM_DISK);
}
#line 28232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 646:
#line 6130 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_storage_option(HA_SM_MEMORY);
}
#line 28240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 647:
#line 6134 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_connection_option((yyvsp[0].lexer.lex_str));
}
#line 28248 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 648:
#line 6138 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.create_table_option)= NEW_PTN PT_create_key_block_size_option((yyvsp[0].ulong_num));
}
#line 28256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 649:
#line 6145 "sql_yacc.yy" /* yacc.c:1646 */
{
switch((yyvsp[0].ulong_num)) {
case 0:
(yyval.ternary_option)= Ternary_option::OFF;
break;
case 1:
(yyval.ternary_option)= Ternary_option::ON;
break;
default:
YYTHD->syntax_error();
MYSQL_YYABORT;
}
}
#line 28274 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 650:
#line 6158 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ternary_option)= Ternary_option::DEFAULT; }
#line 28280 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 651:
#line 6162 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset) = (yyvsp[0].lexer.charset); }
#line 28286 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 652:
#line 6166 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset) = (yyvsp[0].lexer.charset);}
#line 28292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 653:
#line 6170 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str);}
#line 28298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 654:
#line 6174 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_DEFAULT; }
#line 28304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 655:
#line 6175 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_FIXED; }
#line 28310 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 656:
#line 6176 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_DYNAMIC; }
#line 28316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 657:
#line 6177 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_COMPRESSED; }
#line 28322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 658:
#line 6178 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_REDUNDANT; }
#line 28328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 659:
#line 6179 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.row_type)= ROW_TYPE_COMPACT; }
#line 28334 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 660:
#line 6183 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
#line 28340 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 661:
#line 6184 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
#line 28346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 662:
#line 6185 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
#line 28352 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 663:
#line 6189 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.num) = (int) STRING_RESULT; }
#line 28358 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 664:
#line 6190 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.num) = (int) REAL_RESULT; }
#line 28364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 665:
#line 6191 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.num) = (int) DECIMAL_RESULT; }
#line 28370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 666:
#line 6192 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.num) = (int) INT_RESULT; }
#line 28376 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 667:
#line 6197 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_element_list)= NEW_PTN Mem_root_array<PT_table_element *>(YYMEM_ROOT);
if ((yyval.table_element_list) == NULL || (yyval.table_element_list)->push_back((yyvsp[0].table_element)))
MYSQL_YYABORT; // OOM
}
#line 28386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 668:
#line 6203 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_element_list)= (yyvsp[-2].table_element_list);
if ((yyval.table_element_list)->push_back((yyvsp[0].table_element)))
MYSQL_YYABORT; // OOM
}
#line 28396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 669:
#line 6211 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_element)= (yyvsp[0].column_def); }
#line 28402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 670:
#line 6212 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_element)= (yyvsp[0].table_constraint_def); }
#line 28408 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 671:
#line 6217 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_def)= NEW_PTN PT_column_def((yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].table_constraint_def));
}
#line 28416 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 672:
#line 6223 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_constraint_def)= NULL; }
#line 28422 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 673:
#line 6225 "sql_yacc.yy" /* yacc.c:1646 */
{
/* Currently we ignore FK references here: */
(yyval.table_constraint_def)= NULL;
}
#line 28431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 674:
#line 6234 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_MULTIPLE,
(yyvsp[-4].index_name_and_type).name, (yyvsp[-4].index_name_and_type).type, (yyvsp[-2].index_column_list), (yyvsp[0].index_options));
}
#line 28440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 675:
#line 6240 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_FULLTEXT, (yyvsp[-4].lexer.lex_str), NULL,
(yyvsp[-2].index_column_list), (yyvsp[0].index_options));
}
#line 28449 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 676:
#line 6246 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition(KEYTYPE_SPATIAL, (yyvsp[-4].lexer.lex_str), NULL, (yyvsp[-2].index_column_list), (yyvsp[0].index_options));
}
#line 28457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 677:
#line 6251 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
Constraint-implementing indexes are named by the constraint type
by default.
*/
LEX_STRING name= (yyvsp[-4].index_name_and_type).name.str != NULL ? (yyvsp[-4].index_name_and_type).name : (yyvsp[-6].lexer.lex_str);
(yyval.table_constraint_def)= NEW_PTN PT_inline_index_definition((yyvsp[-5].key_type), name, (yyvsp[-4].index_name_and_type).type, (yyvsp[-2].index_column_list), (yyvsp[0].index_options));
}
#line 28470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 678:
#line 6260 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_constraint_def)= NEW_PTN PT_foreign_key_definition((yyvsp[-7].lexer.lex_str), (yyvsp[-4].lexer.lex_str), (yyvsp[-2].index_column_list), (yyvsp[0].fk_references).table_name,
(yyvsp[0].fk_references).reference_list,
(yyvsp[0].fk_references).fk_match_option,
(yyvsp[0].fk_references).fk_update_opt,
(yyvsp[0].fk_references).fk_delete_opt);
}
#line 28482 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 679:
#line 6268 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_constraint_def)= NEW_PTN PT_check_constraint((yyvsp[-2].lexer.lex_str), (yyvsp[-1].item), (yyvsp[0].is_not_empty));
if ((yyval.table_constraint_def) == nullptr) MYSQL_YYABORT; // OOM
}
#line 28491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 680:
#line 6275 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[-1].item); }
#line 28497 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 681:
#line 6279 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= NULL_STR; }
#line 28503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 682:
#line 6280 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 28509 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 683:
#line 6284 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 28515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 684:
#line 6285 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 28521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 685:
#line 6289 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 28527 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 686:
#line 6290 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= (yyvsp[0].is_not_empty); }
#line 28533 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 687:
#line 6294 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= !((yyvsp[-1].is_not_empty)); }
#line 28539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 688:
#line 6299 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_def)= NEW_PTN PT_field_def((yyvsp[-1].type), (yyvsp[0].col_attr_list));
}
#line 28547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 689:
#line 6305 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *opt_attrs= (yyvsp[0].col_attr_list);
if ((yyvsp[-7].lexer.charset) != NULL)
{
if (opt_attrs == NULL)
{
opt_attrs= NEW_PTN
Mem_root_array<PT_column_attr_base *>(YYMEM_ROOT);
}
auto *collation= NEW_PTN PT_collate_column_attr((yylsp[-7]), (yyvsp[-7].lexer.charset));
if (opt_attrs == nullptr || collation == nullptr ||
opt_attrs->push_back(collation))
MYSQL_YYABORT; // OOM
}
(yyval.field_def)= NEW_PTN PT_generated_field_def((yyvsp[-8].type), (yyvsp[-3].item), (yyvsp[-1].virtual_or_stored), opt_attrs);
}
#line 28568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 692:
#line 6329 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.virtual_or_stored)= Virtual_or_stored::VIRTUAL; }
#line 28574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 693:
#line 6330 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.virtual_or_stored)= Virtual_or_stored::VIRTUAL; }
#line 28580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 694:
#line 6331 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.virtual_or_stored)= Virtual_or_stored::STORED; }
#line 28586 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 695:
#line 6336 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].int_type), (yyvsp[-1].c_str), (yyvsp[0].field_option));
}
#line 28594 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 696:
#line 6340 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].numeric_type), (yyvsp[-1].precision).length, (yyvsp[-1].precision).dec, (yyvsp[0].field_option));
}
#line 28602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 697:
#line 6344 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_numeric_type(YYTHD, (yyvsp[-2].numeric_type), (yyvsp[-1].precision).length, (yyvsp[-1].precision).dec, (yyvsp[0].field_option));
}
#line 28610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 698:
#line 6348 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_bit_type;
}
#line 28618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 699:
#line 6352 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_bit_type((yyvsp[0].c_str));
}
#line 28626 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 700:
#line 6356 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_boolean_type;
}
#line 28634 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 701:
#line 6360 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_boolean_type;
}
#line 28642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 702:
#line 6364 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 703:
#line 6369 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28660 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 704:
#line 6374 "sql_yacc.yy" /* yacc.c:1646 */
{
const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ?
get_bin_collation(national_charset_info) : national_charset_info;
if (cs == NULL)
MYSQL_YYABORT;
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[-1].c_str), cs);
warn_about_deprecated_national(YYTHD);
}
#line 28673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 705:
#line 6383 "sql_yacc.yy" /* yacc.c:1646 */
{
const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ?
get_bin_collation(national_charset_info) : national_charset_info;
if (cs == NULL)
MYSQL_YYABORT;
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, cs);
warn_about_deprecated_national(YYTHD);
}
#line 28686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 706:
#line 6392 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, (yyvsp[0].c_str), &my_charset_bin);
}
#line 28694 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 707:
#line 6396 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::CHAR, &my_charset_bin);
}
#line 28702 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 708:
#line 6400 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 709:
#line 6405 "sql_yacc.yy" /* yacc.c:1646 */
{
const CHARSET_INFO *cs= (yyvsp[0].is_not_empty) ?
get_bin_collation(national_charset_info) : national_charset_info;
if (cs == NULL)
MYSQL_YYABORT;
(yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[-1].c_str), cs);
warn_about_deprecated_national(YYTHD);
}
#line 28724 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 710:
#line 6414 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::VARCHAR, (yyvsp[0].c_str), &my_charset_bin);
}
#line 28732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 711:
#line 6418 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].c_str))
{
errno= 0;
ulong length= strtoul((yyvsp[-1].c_str), NULL, 10);
if (errno != 0 || length != 4)
{
/* Only support length is 4 */
my_error(ER_INVALID_YEAR_COLUMN_LENGTH, MYF(0), "YEAR");
MYSQL_YYABORT;
}
}
// We can ignore field length and UNSIGNED/ZEROFILL attributes here.
(yyval.type)= NEW_PTN PT_year_type;
}
#line 28752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 712:
#line 6434 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_date_type;
}
#line 28760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 713:
#line 6438 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_time_type(Time_type::TIME, (yyvsp[0].c_str));
}
#line 28768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 714:
#line 6442 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_timestamp_type((yyvsp[0].c_str));
}
#line 28776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 715:
#line 6446 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_time_type(Time_type::DATETIME, (yyvsp[0].c_str));
}
#line 28784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 716:
#line 6450 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::TINY, &my_charset_bin);
}
#line 28792 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 717:
#line 6454 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type((yyvsp[0].c_str));
}
#line 28800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 719:
#line 6459 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, &my_charset_bin);
}
#line 28808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 720:
#line 6463 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::LONG, &my_charset_bin);
}
#line 28816 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 721:
#line 6467 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, &my_charset_bin);
}
#line 28824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 722:
#line 6471 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 723:
#line 6476 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::TINY, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 724:
#line 6481 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_char_type(Char_type::TEXT, (yyvsp[-1].c_str), (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 725:
#line 6486 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 726:
#line 6491 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::LONG, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28869 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 727:
#line 6496 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_enum_type((yyvsp[-2].string_list), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28877 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 728:
#line 6500 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_set_type((yyvsp[-2].string_list), (yyvsp[0].charset_with_opt_binary).charset, (yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 729:
#line 6504 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_blob_type(Blob_type::MEDIUM, (yyvsp[0].charset_with_opt_binary).charset,
(yyvsp[0].charset_with_opt_binary).force_binary);
}
#line 28894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 730:
#line 6509 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_serial_type;
}
#line 28902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 731:
#line 6513 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.type)= NEW_PTN PT_json_type;
}
#line 28910 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 732:
#line 6520 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_GEOMETRY); }
#line 28916 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 733:
#line 6522 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_GEOMETRYCOLLECTION); }
#line 28922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 734:
#line 6524 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_POINT); }
#line 28928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 735:
#line 6526 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTIPOINT); }
#line 28934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 736:
#line 6528 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_LINESTRING); }
#line 28940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 737:
#line 6530 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTILINESTRING); }
#line 28946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 738:
#line 6532 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_POLYGON); }
#line 28952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 739:
#line 6534 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.type)= NEW_PTN PT_spacial_type(Field::GEOM_MULTIPOLYGON); }
#line 28958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 740:
#line 6538 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 741:
#line 6539 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 742:
#line 6543 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 743:
#line 6544 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 744:
#line 6548 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 745:
#line 6549 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 28994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 746:
#line 6550 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 747:
#line 6551 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 748:
#line 6552 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 749:
#line 6556 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.int_type)=Int_type::INT; }
#line 29018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 750:
#line 6557 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.int_type)=Int_type::TINYINT; }
#line 29024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 751:
#line 6558 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.int_type)=Int_type::SMALLINT; }
#line 29030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 752:
#line 6559 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.int_type)=Int_type::MEDIUMINT; }
#line 29036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 753:
#line 6560 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.int_type)=Int_type::BIGINT; }
#line 29042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 754:
#line 6565 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.numeric_type)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ?
Numeric_type::FLOAT : Numeric_type::DOUBLE;
}
#line 29051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 755:
#line 6570 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.numeric_type)= Numeric_type::DOUBLE; }
#line 29057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 758:
#line 6579 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.numeric_type)= Numeric_type::FLOAT; }
#line 29063 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 759:
#line 6580 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.numeric_type)= Numeric_type::DECIMAL; }
#line 29069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 760:
#line 6581 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.numeric_type)= Numeric_type::DECIMAL; }
#line 29075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 761:
#line 6582 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.numeric_type)= Numeric_type::DECIMAL; }
#line 29081 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 762:
#line 6587 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length = nullptr;
(yyval.precision).dec = nullptr;
}
#line 29090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 763:
#line 6592 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length = (yyvsp[0].c_str);
(yyval.precision).dec = nullptr;
}
#line 29099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 764:
#line 6600 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length= NULL;
(yyval.precision).dec= NULL;
}
#line 29108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 765:
#line 6605 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length= (yyvsp[0].c_str);
(yyval.precision).dec= NULL;
}
#line 29117 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 767:
#line 6614 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length= (yyvsp[-3].lexer.lex_str).str;
(yyval.precision).dec= (yyvsp[-1].lexer.lex_str).str;
}
#line 29126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 768:
#line 6622 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= NULL; }
#line 29132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 769:
#line 6623 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; }
#line 29138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 770:
#line 6627 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 29144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 771:
#line 6628 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 29150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 772:
#line 6630 "sql_yacc.yy" /* yacc.c:1646 */
{
int error;
(yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[-1].lexer.lex_str).str, NULL, &error);
}
#line 29159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 773:
#line 6637 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.field_option) = 0; }
#line 29165 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 775:
#line 6643 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_option) = (yyvsp[-1].field_option) | (yyvsp[0].field_option);
}
#line 29173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 777:
#line 6650 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.field_option) = 0; }
#line 29179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 778:
#line 6651 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.field_option) = UNSIGNED_FLAG; }
#line 29185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 779:
#line 6652 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_option) = ZEROFILL_FLAG;
push_warning(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
ER_THD(YYTHD, ER_WARN_DEPRECATED_ZEROFILL));
}
#line 29196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 780:
#line 6661 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; }
#line 29202 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 781:
#line 6662 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; }
#line 29208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 782:
#line 6663 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; }
#line 29214 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 783:
#line 6664 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[-1].lexer.lex_str).str; }
#line 29220 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 784:
#line 6667 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= NULL; /* use default length */ }
#line 29226 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 786:
#line 6673 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.precision).length= NULL;
(yyval.precision).dec = NULL;
}
#line 29235 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 788:
#line 6681 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.col_attr_list)= NULL; }
#line 29241 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 790:
#line 6687 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr_list)= (yyvsp[-1].col_attr_list);
if ((yyvsp[0].col_attr) == nullptr)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].col_attr)->has_constraint_enforcement()) {
// $2 is `[NOT] ENFORCED`
if ((yyvsp[-1].col_attr_list)->back()->set_constraint_enforcement(
(yyvsp[0].col_attr)->is_constraint_enforced())) {
// $1 is not `CHECK(...)`
YYTHD->syntax_error_at((yylsp[0]));
MYSQL_YYABORT;
}
} else {
if ((yyval.col_attr_list)->push_back((yyvsp[0].col_attr)))
MYSQL_YYABORT; // OOM
}
}
#line 29264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 791:
#line 6706 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].col_attr) == nullptr)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].col_attr)->has_constraint_enforcement()) {
// [NOT] ENFORCED doesn't follow the CHECK clause
YYTHD->syntax_error_at((yylsp[0]));
MYSQL_YYABORT;
}
(yyval.col_attr_list)=
NEW_PTN Mem_root_array<PT_column_attr_base *>(YYMEM_ROOT);
if ((yyval.col_attr_list) == NULL || (yyval.col_attr_list)->push_back((yyvsp[0].col_attr)))
MYSQL_YYABORT; // OOM
}
#line 29284 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 792:
#line 6725 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_null_column_attr;
}
#line 29292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 793:
#line 6729 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_not_null_column_attr;
}
#line 29300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 794:
#line 6733 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_secondary_column_attr;
}
#line 29308 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 795:
#line 6737 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_default_column_attr((yyvsp[0].item));
}
#line 29316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 796:
#line 6741 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_generated_default_val_column_attr((yyvsp[-1].item));
}
#line 29324 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 797:
#line 6745 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_on_update_column_attr(static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 29332 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 798:
#line 6749 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_auto_increment_column_attr;
}
#line 29340 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 799:
#line 6753 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_serial_default_value_column_attr;
}
#line 29348 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 800:
#line 6757 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_primary_key_column_attr;
}
#line 29356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 801:
#line 6761 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_unique_key_column_attr;
}
#line 29364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 802:
#line 6765 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_unique_key_column_attr;
}
#line 29372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 803:
#line 6769 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_comment_column_attr(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 29380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 804:
#line 6773 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_collate_column_attr((yylsp[0]), (yyvsp[0].lexer.charset));
}
#line 29388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 805:
#line 6777 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_column_format_column_attr((yyvsp[0].column_format));
}
#line 29396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 806:
#line 6781 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_storage_media_column_attr((yyvsp[0].storage_media));
}
#line 29404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 807:
#line 6785 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulonglong_number) > std::numeric_limits<gis::srid_t>::max())
{
my_error(ER_DATA_OUT_OF_RANGE, MYF(0), "SRID", "SRID");
MYSQL_YYABORT;
}
(yyval.col_attr)= NEW_PTN PT_srid_column_attr(static_cast<gis::srid_t>((yyvsp[0].ulonglong_number)));
}
#line 29417 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 808:
#line 6795 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr)= NEW_PTN PT_check_constraint_column_attr((yyvsp[-1].lexer.lex_str), (yyvsp[0].item));
}
#line 29425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 809:
#line 6808 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.col_attr) = NEW_PTN PT_constraint_enforcement_attr((yyvsp[0].is_not_empty));
}
#line 29433 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 810:
#line 6814 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.column_format)= COLUMN_FORMAT_TYPE_DEFAULT; }
#line 29439 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 811:
#line 6815 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.column_format)= COLUMN_FORMAT_TYPE_FIXED; }
#line 29445 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 812:
#line 6816 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.column_format)= COLUMN_FORMAT_TYPE_DYNAMIC; }
#line 29451 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 813:
#line 6820 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.storage_media)= HA_SM_DEFAULT; }
#line 29457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 814:
#line 6821 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.storage_media)= HA_SM_DISK; }
#line 29463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 815:
#line 6822 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.storage_media)= HA_SM_MEMORY; }
#line 29469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 816:
#line 6827 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ulong_num)= (yyvsp[0].ulong_num);
}
#line 29477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 817:
#line 6833 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_now_local((yyloc), static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 29485 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 821:
#line 6846 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lexer.charset)=get_charset_by_csname((yyvsp[0].lexer.lex_str).str,MY_CS_PRIMARY,MYF(0))))
{
my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
YYLIP->warn_on_deprecated_charset((yyval.lexer.charset), (yyvsp[0].lexer.lex_str).str);
}
#line 29498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 822:
#line 6854 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)= &my_charset_bin; }
#line 29504 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 823:
#line 6858 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)= NULL; }
#line 29510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 824:
#line 6859 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset) = (yyvsp[0].lexer.charset); }
#line 29516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 825:
#line 6864 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lexer.charset)=get_charset_by_csname((yyvsp[0].lexer.lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
!((yyval.lexer.charset)=get_old_charset_by_name((yyvsp[0].lexer.lex_str).str)))
{
my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 29529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 826:
#line 6872 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)= &my_charset_bin; }
#line 29535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 827:
#line 6876 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)=(yyvsp[0].lexer.charset); }
#line 29541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 828:
#line 6877 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)=NULL; }
#line 29547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 829:
#line 6882 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lexer.charset)= mysqld_collation_get_by_name((yyvsp[0].lexer.lex_str).str)))
MYSQL_YYABORT;
YYLIP->warn_on_deprecated_collation((yyval.lexer.charset));
}
#line 29557 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 830:
#line 6887 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)= &my_charset_bin; }
#line 29563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 831:
#line 6891 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset) = nullptr; }
#line 29569 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 832:
#line 6892 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset) = (yyvsp[0].lexer.charset); }
#line 29575 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 833:
#line 6896 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 834:
#line 6897 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 835:
#line 6902 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.charset)= &my_charset_latin1; }
#line 29593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 836:
#line 6903 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
(yyval.lexer.charset)= &my_charset_latin1_bin;
}
#line 29602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 837:
#line 6907 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
(yyval.lexer.charset)= &my_charset_latin1_bin;
}
#line 29611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 838:
#line 6915 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lexer.charset)= get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0))))
{
my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2");
MYSQL_YYABORT;
}
}
#line 29623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 839:
#line 6923 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
if (!((yyval.lexer.charset)= mysqld_collation_get_by_name("ucs2_bin")))
MYSQL_YYABORT;
}
#line 29633 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 840:
#line 6929 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
if (!((yyval.lexer.charset)= mysqld_collation_get_by_name("ucs2_bin")))
my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin");
}
#line 29643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 841:
#line 6938 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.charset_with_opt_binary).charset= NULL;
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29652 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 842:
#line 6943 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.charset_with_opt_binary).charset= (yyvsp[0].lexer.charset);
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 843:
#line 6948 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.charset_with_opt_binary).charset= (yyvsp[0].lexer.charset);
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 844:
#line 6953 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.charset_with_opt_binary).charset= &my_charset_bin;
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29679 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 845:
#line 6958 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.charset_with_opt_binary).charset= (yyvsp[0].is_not_empty) ? get_bin_collation((yyvsp[-1].lexer.charset)) : (yyvsp[-1].lexer.charset);
if ((yyval.charset_with_opt_binary).charset == NULL)
MYSQL_YYABORT;
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 846:
#line 6965 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
(yyval.charset_with_opt_binary).charset= NULL;
(yyval.charset_with_opt_binary).force_binary= true;
}
#line 29700 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 847:
#line 6971 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
(yyval.charset_with_opt_binary).charset= get_bin_collation((yyvsp[0].lexer.charset));
if ((yyval.charset_with_opt_binary).charset == NULL)
MYSQL_YYABORT;
(yyval.charset_with_opt_binary).force_binary= false;
}
#line 29712 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 848:
#line 6981 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 29718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 849:
#line 6982 "sql_yacc.yy" /* yacc.c:1646 */
{
warn_about_deprecated_binary(YYTHD);
(yyval.is_not_empty)= true;
}
#line 29727 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 850:
#line 6990 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulong_num) == 0)
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
}
#line 29739 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 851:
#line 6998 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= (yyvsp[-2].ulong_num); }
#line 29745 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 854:
#line 7012 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_references).table_name= (yyvsp[-3].table);
(yyval.fk_references).reference_list= (yyvsp[-2].reference_list);
(yyval.fk_references).fk_match_option= (yyvsp[-1].opt_match_clause);
(yyval.fk_references).fk_update_opt= (yyvsp[0].fk_options).fk_update_opt;
(yyval.fk_references).fk_delete_opt= (yyvsp[0].fk_options).fk_delete_opt;
}
#line 29757 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 855:
#line 7022 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.reference_list)= NULL; }
#line 29763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 856:
#line 7023 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.reference_list)= (yyvsp[-1].reference_list); }
#line 29769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 857:
#line 7028 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.reference_list)= (yyvsp[-2].reference_list);
auto key= NEW_PTN Key_part_spec(to_lex_cstring((yyvsp[0].lexer.lex_str)), 0, ORDER_ASC);
if (key == NULL || (yyval.reference_list)->push_back(key))
MYSQL_YYABORT;
}
#line 29780 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 858:
#line 7035 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.reference_list)= NEW_PTN List<Key_part_spec>;
auto key= NEW_PTN Key_part_spec(to_lex_cstring((yyvsp[0].lexer.lex_str)), 0, ORDER_ASC);
if ((yyval.reference_list) == NULL || key == NULL || (yyval.reference_list)->push_back(key))
MYSQL_YYABORT;
}
#line 29791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 859:
#line 7044 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_match_clause)= FK_MATCH_UNDEF; }
#line 29797 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 860:
#line 7045 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_match_clause)= FK_MATCH_FULL; }
#line 29803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 861:
#line 7046 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_match_clause)= FK_MATCH_PARTIAL; }
#line 29809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 862:
#line 7047 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_match_clause)= FK_MATCH_SIMPLE; }
#line 29815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 863:
#line 7052 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_options).fk_update_opt= FK_OPTION_UNDEF;
(yyval.fk_options).fk_delete_opt= FK_OPTION_UNDEF;
}
#line 29824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 864:
#line 7057 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_options).fk_update_opt= (yyvsp[0].m_fk_option);
(yyval.fk_options).fk_delete_opt= FK_OPTION_UNDEF;
}
#line 29833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 865:
#line 7062 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_options).fk_update_opt= FK_OPTION_UNDEF;
(yyval.fk_options).fk_delete_opt= (yyvsp[0].m_fk_option);
}
#line 29842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 866:
#line 7068 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_options).fk_update_opt= (yyvsp[-3].m_fk_option);
(yyval.fk_options).fk_delete_opt= (yyvsp[0].m_fk_option);
}
#line 29851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 867:
#line 7074 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.fk_options).fk_update_opt= (yyvsp[0].m_fk_option);
(yyval.fk_options).fk_delete_opt= (yyvsp[-3].m_fk_option);
}
#line 29860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 868:
#line 7081 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_fk_option)= FK_OPTION_RESTRICT; }
#line 29866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 869:
#line 7082 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_fk_option)= FK_OPTION_CASCADE; }
#line 29872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 870:
#line 7083 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_fk_option)= FK_OPTION_SET_NULL; }
#line 29878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 871:
#line 7084 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_fk_option)= FK_OPTION_NO_ACTION; }
#line 29884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 872:
#line 7085 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_fk_option)= FK_OPTION_DEFAULT; }
#line 29890 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 873:
#line 7089 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_type)= KEYTYPE_PRIMARY; }
#line 29896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 874:
#line 7090 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_type)= KEYTYPE_UNIQUE; }
#line 29902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 875:
#line 7094 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 876:
#line 7095 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29914 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 877:
#line 7099 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29920 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 879:
#line 7104 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 880:
#line 7105 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 881:
#line 7106 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 29938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 882:
#line 7110 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_type)= KEYTYPE_MULTIPLE; }
#line 29944 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 883:
#line 7111 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_type)= KEYTYPE_UNIQUE; }
#line 29950 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 884:
#line 7115 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_options).init(YYMEM_ROOT); }
#line 29956 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 886:
#line 7121 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.index_options).init(YYMEM_ROOT);
if ((yyval.index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
}
#line 29966 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 887:
#line 7127 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
(yyval.index_options)= (yyvsp[-1].index_options);
}
#line 29976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 889:
#line 7137 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX_CSTRING plugin_name= {(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length};
if (!plugin_is_ready(plugin_name, MYSQL_FTPARSER_PLUGIN))
{
my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
else
(yyval.index_option)= NEW_PTN PT_fulltext_index_parser_name(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 29991 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 890:
#line 7150 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_options).init(YYMEM_ROOT); }
#line 29997 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 892:
#line 7156 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.index_options).init(YYMEM_ROOT);
if ((yyval.index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
}
#line 30007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 893:
#line 7162 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
(yyval.index_options)= (yyvsp[-1].index_options);
}
#line 30017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 895:
#line 7174 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_options).init(YYMEM_ROOT); }
#line 30023 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 897:
#line 7180 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.index_options).init(YYMEM_ROOT);
if ((yyval.index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
}
#line 30033 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 898:
#line 7186 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].index_options).push_back((yyvsp[0].index_option)))
MYSQL_YYABORT; // OOM
(yyval.index_options)= (yyvsp[-1].index_options);
}
#line 30043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 899:
#line 7194 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option)= (yyvsp[0].index_option); }
#line 30049 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 900:
#line 7195 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option)= (yyvsp[0].index_option); }
#line 30055 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 901:
#line 7200 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option)= NEW_PTN PT_block_size((yyvsp[0].ulong_num)); }
#line 30061 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 902:
#line 7202 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.index_option)= NEW_PTN PT_index_comment(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 30069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 903:
#line 7206 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.index_option)= NEW_PTN PT_index_visibility((yyvsp[0].visibility));
}
#line 30077 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 904:
#line 7229 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_name_and_type)= {(yyvsp[0].lexer.lex_str), NULL}; }
#line 30083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 905:
#line 7230 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_name_and_type)= {(yyvsp[-2].lexer.lex_str), NEW_PTN PT_index_type((yyvsp[0].key_alg))}; }
#line 30089 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 906:
#line 7231 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_name_and_type)= {(yyvsp[-2].lexer.lex_str), NEW_PTN PT_index_type((yyvsp[0].key_alg))}; }
#line 30095 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 907:
#line 7235 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option) = nullptr; }
#line 30101 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 909:
#line 7240 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option)= NEW_PTN PT_index_type((yyvsp[0].key_alg)); }
#line 30107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 910:
#line 7241 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_option)= NEW_PTN PT_index_type((yyvsp[0].key_alg)); }
#line 30113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 911:
#line 7245 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.visibility)= true; }
#line 30119 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 912:
#line 7246 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.visibility)= false; }
#line 30125 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 913:
#line 7250 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_alg)= HA_KEY_ALG_BTREE; }
#line 30131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 914:
#line 7251 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_alg)= HA_KEY_ALG_RTREE; }
#line 30137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 915:
#line 7252 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_alg)= HA_KEY_ALG_HASH; }
#line 30143 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 916:
#line 7257 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].index_column_list)->push_back((yyvsp[0].key_part)))
MYSQL_YYABORT; // OOM
(yyval.index_column_list)= (yyvsp[-2].index_column_list);
}
#line 30153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 917:
#line 7263 "sql_yacc.yy" /* yacc.c:1646 */
{
// The order is ignored.
(yyval.index_column_list)= NEW_PTN List<PT_key_part_specification>;
if ((yyval.index_column_list) == NULL || (yyval.index_column_list)->push_back((yyvsp[0].key_part)))
MYSQL_YYABORT; // OOM
}
#line 30164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 918:
#line 7273 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_part)= NEW_PTN PT_key_part_specification(to_lex_cstring((yyvsp[-1].lexer.lex_str)), (yyvsp[0].order_direction), 0);
if ((yyval.key_part) == NULL)
MYSQL_YYABORT;
}
#line 30174 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 919:
#line 7279 "sql_yacc.yy" /* yacc.c:1646 */
{
int key_part_length= atoi((yyvsp[-2].lexer.lex_str).str);
if (!key_part_length)
{
my_error(ER_KEY_PART_0, MYF(0), (yyvsp[-4].lexer.lex_str).str);
}
(yyval.key_part)= NEW_PTN PT_key_part_specification(to_lex_cstring((yyvsp[-4].lexer.lex_str)), (yyvsp[0].order_direction),
key_part_length);
if ((yyval.key_part) == NULL)
MYSQL_YYABORT; /* purecov: deadcode */
}
#line 30190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 920:
#line 7294 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].index_column_list)->push_back((yyvsp[0].key_part)))
MYSQL_YYABORT; /* purecov: deadcode */
(yyval.index_column_list)= (yyvsp[-2].index_column_list);
}
#line 30200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 921:
#line 7300 "sql_yacc.yy" /* yacc.c:1646 */
{
// The order is ignored.
(yyval.index_column_list)= NEW_PTN List<PT_key_part_specification>;
if ((yyval.index_column_list) == NULL || (yyval.index_column_list)->push_back((yyvsp[0].key_part)))
MYSQL_YYABORT; /* purecov: deadcode */
}
#line 30211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 923:
#line 7311 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_part)= NEW_PTN PT_key_part_specification((yyvsp[-2].item), (yyvsp[0].order_direction));
if ((yyval.key_part) == NULL)
MYSQL_YYABORT;
}
#line 30221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 924:
#line 7319 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= NULL_STR; }
#line 30227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 926:
#line 7324 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= null_lex_str; }
#line 30233 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 927:
#line 7325 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 30239 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 928:
#line 7330 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.string_list)= NEW_PTN List<String>;
if ((yyval.string_list) == NULL || (yyval.string_list)->push_back((yyvsp[0].string)))
MYSQL_YYABORT; // OOM
}
#line 30249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 929:
#line 7336 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.string_list)->push_back((yyvsp[0].string)))
MYSQL_YYABORT;
}
#line 30258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 930:
#line 7348 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_table_stmt(
YYMEM_ROOT,
(yyvsp[-1].table),
(yyvsp[0].alter_list).actions,
(yyvsp[0].alter_list).flags.algo.get_or_default(),
(yyvsp[0].alter_list).flags.lock.get_or_default(),
(yyvsp[0].alter_list).flags.validation.get_or_default());
}
#line 30272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 931:
#line 7358 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_table_standalone_stmt(
YYMEM_ROOT,
(yyvsp[-1].table),
(yyvsp[0].standalone_alter_table_action).action,
(yyvsp[0].standalone_alter_table_action).flags.algo.get_or_default(),
(yyvsp[0].standalone_alter_table_action).flags.lock.get_or_default(),
(yyvsp[0].standalone_alter_table_action).flags.validation.get_or_default());
}
#line 30286 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 932:
#line 7371 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (Lex->create_info == NULL)
MYSQL_YYABORT; // OOM
Lex->create_info->default_table_charset= NULL;
Lex->create_info->used_fields= 0;
}
#line 30298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 933:
#line 7379 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command=SQLCOM_ALTER_DB;
lex->name= (yyvsp[-2].lexer.lex_str);
if (lex->name.str == NULL &&
lex->copy_db_to(&lex->name.str, &lex->name.length))
MYSQL_YYABORT;
}
#line 30311 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 934:
#line 7391 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
MYSQL_YYABORT;
}
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
}
#line 30326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 935:
#line 7402 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ALTER_PROCEDURE;
lex->spname= (yyvsp[-2].spname);
}
#line 30337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 936:
#line 7412 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
MYSQL_YYABORT;
}
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
}
#line 30352 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 937:
#line 7423 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ALTER_FUNCTION;
lex->spname= (yyvsp[-2].spname);
}
#line 30363 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 938:
#line 7433 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
MYSQL_YYABORT;
}
lex->create_view_mode= enum_view_create_mode::VIEW_ALTER;
}
#line 30378 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 939:
#line 7444 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30384 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 940:
#line 7451 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
MYSQL_YYABORT;
}
lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED;
lex->create_view_mode= enum_view_create_mode::VIEW_ALTER;
}
#line 30400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 941:
#line 7463 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 942:
#line 7468 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
It is safe to use Lex->spname because
ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO
is not allowed. Lex->spname is used in the case of RENAME TO
If it had to be supported spname had to be added to
Event_parse_data.
*/
if (!(Lex->event_parse_data= new (YYTHD->mem_root) Event_parse_data()))
MYSQL_YYABORT;
Lex->event_parse_data->identifier= (yyvsp[0].spname);
Lex->sql_command= SQLCOM_ALTER_EVENT;
}
#line 30426 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 943:
#line 7488 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
/*
sql_command is set here because some rules in ev_sql_stmt
can overwrite it
*/
Lex->sql_command= SQLCOM_ALTER_EVENT;
}
#line 30443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 944:
#line 7505 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
Lex->m_sql_cmd= NEW_PTN Sql_cmd_logfile_group{ALTER_LOGFILE_GROUP,
(yyvsp[-3].lexer.lex_str), pc, (yyvsp[-1].lexer.lex_str)};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; /* purecov: inspected */ //OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 945:
#line 7527 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace_add_datafile{(yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30488 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 946:
#line 7546 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
Lex->m_sql_cmd=
NEW_PTN Sql_cmd_alter_tablespace_drop_datafile{(yyvsp[-3].lexer.lex_str), (yyvsp[-1].lexer.lex_str), pc};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 947:
#line 7565 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->m_sql_cmd= NEW_PTN Sql_cmd_alter_tablespace_rename{(yyvsp[-3].lexer.lex_str), (yyvsp[0].lexer.lex_str)};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; // OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 948:
#line 7573 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT;
}
Lex->m_sql_cmd=
NEW_PTN Sql_cmd_alter_tablespace{(yyvsp[-1].lexer.lex_str), pc};
if (!Lex->m_sql_cmd)
MYSQL_YYABORT; // OOM
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30546 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 949:
#line 7596 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT;
}
auto cmd= NEW_PTN Sql_cmd_alter_undo_tablespace{
ALTER_UNDO_TABLESPACE, (yyvsp[-3].lexer.lex_str),
{nullptr, 0}, pc, (yyvsp[-1].alter_tablespace_type)};
if (!cmd)
MYSQL_YYABORT; //OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 30570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 950:
#line 7619 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_ALTER_SERVER;
lex->server_options.m_server_name= (yyvsp[-4].lexer.lex_str);
lex->m_sql_cmd=
NEW_PTN Sql_cmd_alter_server(&Lex->server_options);
}
#line 30582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 952:
#line 7633 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-6].lex_user)->auth.str= nullptr;
(yyvsp[-6].lex_user)->auth.length= 0;
(yyvsp[-6].lex_user)->has_password_generator= true;
(yyvsp[-6].lex_user)->uses_identified_by_clause= true;
if ((yyvsp[-1].lex_cstr).str != nullptr) {
(yyvsp[-6].lex_user)->current_auth= (yyvsp[-1].lex_cstr);
(yyvsp[-6].lex_user)->uses_replace_clause= true;
}
Lex->contains_plaintext_password= true;
(yyvsp[-6].lex_user)->discard_old_password= false;
(yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
}
#line 30600 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 953:
#line 7648 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-5].lex_user)->auth.str= (yyvsp[-2].lexer.lex_str).str;
(yyvsp[-5].lex_user)->auth.length= (yyvsp[-2].lexer.lex_str).length;
(yyvsp[-5].lex_user)->uses_identified_by_clause= true;
if ((yyvsp[-1].lex_cstr).str != nullptr) {
(yyvsp[-5].lex_user)->current_auth= (yyvsp[-1].lex_cstr);
(yyvsp[-5].lex_user)->uses_replace_clause= true;
}
Lex->contains_plaintext_password= true;
(yyvsp[-5].lex_user)->discard_old_password= false;
(yyvsp[-5].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
}
#line 30617 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 954:
#line 7661 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-3].lex_user)->discard_old_password= true;
(yyvsp[-3].lex_user)->retain_current_password= false;
(yyvsp[-3].lex_user)->auth= NULL_CSTR;
}
#line 30627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 955:
#line 7667 "sql_yacc.yy" /* yacc.c:1646 */
{
List<LEX_USER> *users= new (YYMEM_ROOT) List<LEX_USER>;
if (users == NULL || users->push_back((yyvsp[-3].lex_user)))
MYSQL_YYABORT;
List<LEX_USER> *role_list= new (YYMEM_ROOT) List<LEX_USER>;
auto *tmp=
NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists,
users, role_list,
role_enum::ROLE_ALL);
MAKE_CMD(tmp);
}
#line 30643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 956:
#line 7679 "sql_yacc.yy" /* yacc.c:1646 */
{
List<LEX_USER> *users= new (YYMEM_ROOT) List<LEX_USER>;
if (users == NULL || users->push_back((yyvsp[-3].lex_user)))
MYSQL_YYABORT;
List<LEX_USER> *role_list= new (YYMEM_ROOT) List<LEX_USER>;
auto *tmp=
NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists,
users, role_list,
role_enum::ROLE_NONE);
MAKE_CMD(tmp);
}
#line 30659 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 957:
#line 7691 "sql_yacc.yy" /* yacc.c:1646 */
{
List<LEX_USER> *users= new (YYMEM_ROOT) List<LEX_USER>;
if (users == NULL || users->push_back((yyvsp[-3].lex_user)))
MYSQL_YYABORT;
auto *tmp=
NEW_PTN PT_alter_user_default_role(Lex->drop_if_exists,
users, (yyvsp[0].user_list),
role_enum::ROLE_NAME);
MAKE_CMD(tmp);
}
#line 30674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 958:
#line 7704 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr) = LEX_CSTRING{nullptr, 0}; }
#line 30680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 959:
#line 7705 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr) = to_lex_cstring((yyvsp[0].lexer.lex_str)); }
#line 30686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 960:
#line 7712 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_resource_group(to_lex_cstring((yyvsp[-4].lexer.lex_str)),
(yyvsp[-3].resource_group_vcpu_list_type), (yyvsp[-2].resource_group_priority_type), (yyvsp[-1].resource_group_state_type), (yyvsp[0].resource_group_flag_type));
}
#line 30695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 961:
#line 7720 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_ALTER_USER;
lex->drop_if_exists= (yyvsp[0].num);
}
#line 30705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 962:
#line 7728 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 966:
#line 7739 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->alter_password.update_account_locked_column= true;
lex->alter_password.account_locked= false;
}
#line 30721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 967:
#line 7745 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->alter_password.update_account_locked_column= true;
lex->alter_password.account_locked= true;
}
#line 30731 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 968:
#line 7751 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.expire_after_days= 0;
lex->alter_password.update_password_expired_column= true;
lex->alter_password.update_password_expired_fields= true;
lex->alter_password.use_default_password_lifetime= true;
}
#line 30743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 969:
#line 7759 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if ((yyvsp[-1].ulong_num) == 0 || (yyvsp[-1].ulong_num) > UINT_MAX16)
{
char buf[MAX_BIGINT_WIDTH + 1];
snprintf(buf, sizeof(buf), "%lu", (yyvsp[-1].ulong_num));
my_error(ER_WRONG_VALUE, MYF(0), "DAY", buf);
MYSQL_YYABORT;
}
lex->alter_password.expire_after_days= (yyvsp[-1].ulong_num);
lex->alter_password.update_password_expired_column= false;
lex->alter_password.update_password_expired_fields= true;
lex->alter_password.use_default_password_lifetime= false;
}
#line 30762 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 970:
#line 7774 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.expire_after_days= 0;
lex->alter_password.update_password_expired_column= false;
lex->alter_password.update_password_expired_fields= true;
lex->alter_password.use_default_password_lifetime= false;
}
#line 30774 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 971:
#line 7782 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.expire_after_days= 0;
lex->alter_password.update_password_expired_column= false;
Lex->alter_password.update_password_expired_fields= true;
lex->alter_password.use_default_password_lifetime= true;
}
#line 30786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 972:
#line 7790 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.password_history_length= (yyvsp[0].ulong_num);
lex->alter_password.update_password_history= true;
lex->alter_password.use_default_password_history= false;
}
#line 30797 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 973:
#line 7797 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.password_history_length= 0;
lex->alter_password.update_password_history= true;
lex->alter_password.use_default_password_history= true;
}
#line 30808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 974:
#line 7804 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.password_reuse_interval= (yyvsp[-1].ulong_num);
lex->alter_password.update_password_reuse_interval= true;
lex->alter_password.use_default_password_reuse_interval= false;
}
#line 30819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 975:
#line 7811 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.password_reuse_interval= 0;
lex->alter_password.update_password_reuse_interval= true;
lex->alter_password.use_default_password_reuse_interval= true;
}
#line 30830 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 976:
#line 7818 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.update_password_require_current=
Lex_acl_attrib_udyn::YES;
}
#line 30840 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 977:
#line 7824 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.update_password_require_current=
Lex_acl_attrib_udyn::DEFAULT;
}
#line 30850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 978:
#line 7830 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->alter_password.update_password_require_current=
Lex_acl_attrib_udyn::NO;
}
#line 30860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 979:
#line 7838 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 981:
#line 7843 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 982:
#line 7844 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 30878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 983:
#line 7849 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.questions=(yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
}
#line 30888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 984:
#line 7855 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.updates=(yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
}
#line 30898 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 985:
#line 7861 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
}
#line 30908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 986:
#line 7867 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->mqh.user_conn= (yyvsp[0].ulong_num);
lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
}
#line 30918 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 987:
#line 7876 "sql_yacc.yy" /* yacc.c:1646 */
{
/* empty LEX_USER means current_user */
LEX_USER *curr_user;
if (!(curr_user= (LEX_USER*) Lex->thd->alloc(sizeof(LEX_USER))))
MYSQL_YYABORT;
memset(curr_user, 0, sizeof(LEX_USER));
Lex->users_list.push_back(curr_user);
(yyval.lex_user)= curr_user;
}
#line 30933 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 988:
#line 7889 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0;}
#line 30939 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 989:
#line 7890 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 30945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 990:
#line 7891 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 30951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 991:
#line 7892 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 30957 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 992:
#line 7896 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0;}
#line 30963 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 993:
#line 7898 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
Use lex's spname to hold the new name.
The original name is in the Event_parse_data object
*/
Lex->spname= (yyvsp[0].spname);
(yyval.num)= 1;
}
#line 30976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 994:
#line 7909 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0;}
#line 30982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 995:
#line 7910 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 30988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 996:
#line 7914 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str).str= 0; (yyval.lexer.lex_str).length= 0; }
#line 30994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 997:
#line 7915 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 31000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 999:
#line 7921 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list)= (yyvsp[-1].alter_list);
if ((yyval.alter_list).actions == NULL)
{
(yyval.alter_list).actions= NEW_PTN Mem_root_array<PT_ddl_table_option *>(YYMEM_ROOT);
if ((yyval.alter_list).actions == NULL)
MYSQL_YYABORT; // OOM
}
if ((yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action)))
MYSQL_YYABORT; // OOM
}
#line 31016 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1000:
#line 7936 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.standalone_alter_table_action).flags.init();
(yyval.standalone_alter_table_action).action= (yyvsp[0].alter_table_standalone_action);
}
#line 31025 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1001:
#line 7941 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.standalone_alter_table_action).flags= (yyvsp[-2].algo_and_lock_and_validation);
(yyval.standalone_alter_table_action).action= (yyvsp[0].alter_table_standalone_action);
}
#line 31034 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1002:
#line 7949 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_partition_by((yyvsp[0].partition_clause));
}
#line 31042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1003:
#line 7953 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_remove_partitioning;
}
#line 31050 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1004:
#line 7960 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags.init();
(yyval.alter_list).actions= NULL;
}
#line 31059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1005:
#line 7965 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags= (yyvsp[0].algo_and_lock_and_validation);
(yyval.alter_list).actions= NULL;
}
#line 31068 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1007:
#line 7971 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags= (yyvsp[-2].algo_and_lock_and_validation);
(yyval.alter_list).flags.merge((yyvsp[0].alter_list).flags);
(yyval.alter_list).actions= (yyvsp[0].alter_list).actions;
}
#line 31078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1008:
#line 7980 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_discard_tablespace;
}
#line 31086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1009:
#line 7984 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_import_tablespace;
}
#line 31094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1010:
#line 7995 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition((yyvsp[0].num));
}
#line 31102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1011:
#line 7999 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition_def_list((yyvsp[-3].num), (yyvsp[-1].part_def_list));
}
#line 31110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1012:
#line 8003 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_add_partition_num((yyvsp[-2].num), (yyvsp[0].ulong_num));
}
#line 31118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1013:
#line 8007 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_drop_partition(*(yyvsp[0].string_list));
}
#line 31126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1014:
#line 8012 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_rebuild_partition((yyvsp[-1].num), (yyvsp[0].string_list));
}
#line 31134 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1015:
#line 8017 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_optimize_partition((yyvsp[-1].num), (yyvsp[0].string_list));
}
#line 31142 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1016:
#line 8022 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_analyze_partition((yyvsp[-1].num), (yyvsp[0].string_list));
}
#line 31150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1017:
#line 8026 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_check_partition((yyvsp[-1].string_list),
(yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags);
}
#line 31159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1018:
#line 8033 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_repair_partition((yyvsp[-2].num), (yyvsp[-1].string_list),
(yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags);
}
#line 31168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1019:
#line 8038 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_coalesce_partition((yyvsp[-1].num), (yyvsp[0].ulong_num));
}
#line 31176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1020:
#line 8042 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_truncate_partition((yyvsp[0].string_list));
}
#line 31184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1021:
#line 8046 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_reorganize_partition((yyvsp[0].num));
}
#line 31192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1022:
#line 8051 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_reorganize_partition_into((yyvsp[-5].num), *(yyvsp[-4].string_list), (yyvsp[-1].part_def_list));
}
#line 31200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1023:
#line 8056 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_exchange_partition((yyvsp[-4].lexer.lex_str), (yyvsp[-1].table), (yyvsp[0].with_validation));
}
#line 31208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1024:
#line 8061 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_discard_partition_tablespace((yyvsp[-1].string_list));
}
#line 31216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1025:
#line 8066 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_import_partition_tablespace((yyvsp[-1].string_list));
}
#line 31224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1026:
#line 8070 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_secondary_load;
}
#line 31232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1027:
#line 8074 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_standalone_action)= NEW_PTN PT_alter_table_secondary_unload;
}
#line 31240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1028:
#line 8080 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.with_validation)= Alter_info::ALTER_VALIDATION_DEFAULT; }
#line 31246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1030:
#line 8086 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.with_validation)= Alter_info::ALTER_WITH_VALIDATION;
}
#line 31254 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1031:
#line 8090 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.with_validation)= Alter_info::ALTER_WITHOUT_VALIDATION;
}
#line 31262 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1032:
#line 8096 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.string_list)= NULL; }
#line 31268 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1034:
#line 8106 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags.init();
(yyval.alter_list).actions= NEW_PTN Mem_root_array<PT_ddl_table_option *>(YYMEM_ROOT);
if ((yyval.alter_list).actions == NULL || (yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action)))
MYSQL_YYABORT; // OOM
}
#line 31279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1035:
#line 8113 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.alter_list).actions->push_back((yyvsp[0].alter_table_action)))
MYSQL_YYABORT; // OOM
}
#line 31288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1036:
#line 8118 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags.merge((yyvsp[0].algo_and_lock_and_validation));
}
#line 31296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1037:
#line 8122 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_list).flags.init();
(yyval.alter_list).actions= (yyvsp[0].space_separated_alter_table_opts);
}
#line 31305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1038:
#line 8127 "sql_yacc.yy" /* yacc.c:1646 */
{
for (auto *option : *(yyvsp[0].space_separated_alter_table_opts))
{
if ((yyvsp[-2].alter_list).actions->push_back(option))
MYSQL_YYABORT; // OOM
}
}
#line 31317 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1040:
#line 8139 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.algo_and_lock_and_validation)= (yyvsp[-2].algo_and_lock_and_validation);
(yyval.algo_and_lock_and_validation).merge((yyvsp[0].algo_and_lock_and_validation));
}
#line 31326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1041:
#line 8147 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_add_column((yyvsp[-3].lexer.lex_str), (yyvsp[-2].field_def), (yyvsp[-1].table_constraint_def), (yyvsp[0].c_str));
}
#line 31334 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1042:
#line 8151 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_add_columns((yyvsp[-1].table_element_list));
}
#line 31342 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1043:
#line 8155 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_add_constraint((yyvsp[0].table_constraint_def));
}
#line 31350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1044:
#line 8159 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_change_column((yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].c_str));
}
#line 31358 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1045:
#line 8163 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_change_column((yyvsp[-2].lexer.lex_str), (yyvsp[-1].field_def), (yyvsp[0].c_str));
}
#line 31366 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1046:
#line 8167 "sql_yacc.yy" /* yacc.c:1646 */
{
// Note: opt_restrict ($4) is ignored!
(yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_column((yyvsp[-1].lexer.lex_str).str);
}
#line 31375 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1047:
#line 8172 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_foreign_key((yyvsp[0].lexer.lex_str).str);
}
#line 31383 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1048:
#line 8176 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_key(primary_key_name);
}
#line 31391 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1049:
#line 8180 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_key((yyvsp[0].lexer.lex_str).str);
}
#line 31399 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1050:
#line 8184 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_drop_check_constraint((yyvsp[0].lexer.lex_str).str);
}
#line 31407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1051:
#line 8188 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_enable_keys(false);
}
#line 31415 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1052:
#line 8192 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_enable_keys(true);
}
#line 31423 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1053:
#line 8196 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-3].lexer.lex_str).str, (yyvsp[0].item));
}
#line 31431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1054:
#line 8200 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-5].lexer.lex_str).str, (yyvsp[-1].item));
}
#line 31439 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1055:
#line 8204 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_set_default((yyvsp[-2].lexer.lex_str).str, NULL);
}
#line 31447 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1056:
#line 8208 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_index_visible((yyvsp[-1].lexer.lex_str).str, (yyvsp[0].visibility));
}
#line 31455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1057:
#line 8212 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action) = NEW_PTN PT_alter_table_check_constraint((yyvsp[-1].lexer.lex_str).str, (yyvsp[0].is_not_empty));
}
#line 31463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1058:
#line 8216 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_rename((yyvsp[0].table));
}
#line 31471 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1059:
#line 8220 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_rename_key((yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str);
}
#line 31479 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1060:
#line 8224 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_rename_column((yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str);
}
#line 31487 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1061:
#line 8228 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_convert_to_charset((yyvsp[-1].lexer.charset), (yyvsp[0].lexer.charset));
}
#line 31495 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1062:
#line 8232 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action) = NEW_PTN PT_alter_table_convert_to_charset(
YYTHD->variables.collation_database,
(yyvsp[0].lexer.charset) ? (yyvsp[0].lexer.charset) : YYTHD->variables.collation_database);
}
#line 31505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1063:
#line 8238 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_force;
}
#line 31513 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1064:
#line 8242 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_action)= NEW_PTN PT_alter_table_order((yyvsp[0].order_list));
}
#line 31521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1065:
#line 8249 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.algo_and_lock_and_validation).init();
(yyval.algo_and_lock_and_validation).algo.set((yyvsp[0].alter_table_algorithm));
}
#line 31530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1066:
#line 8254 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.algo_and_lock_and_validation).init();
(yyval.algo_and_lock_and_validation).lock.set((yyvsp[0].alter_table_lock));
}
#line 31539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1067:
#line 8259 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.algo_and_lock_and_validation).init();
(yyval.algo_and_lock_and_validation).validation.set((yyvsp[0].with_validation));
}
#line 31548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1068:
#line 8266 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_index_lock_and_algorithm).init(); }
#line 31554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1069:
#line 8268 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_index_lock_and_algorithm).init();
(yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[0].alter_table_lock));
}
#line 31563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1070:
#line 8273 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_index_lock_and_algorithm).init();
(yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[0].alter_table_algorithm));
}
#line 31572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1071:
#line 8278 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_index_lock_and_algorithm).init();
(yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[-1].alter_table_lock));
(yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[0].alter_table_algorithm));
}
#line 31582 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1072:
#line 8284 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.opt_index_lock_and_algorithm).init();
(yyval.opt_index_lock_and_algorithm).algo.set((yyvsp[-1].alter_table_algorithm));
(yyval.opt_index_lock_and_algorithm).lock.set((yyvsp[0].alter_table_lock));
}
#line 31592 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1073:
#line 8292 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.alter_table_algorithm)= (yyvsp[0].alter_table_algorithm); }
#line 31598 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1074:
#line 8297 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT;
}
#line 31606 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1075:
#line 8301 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[0].lexer.lex_str), "INPLACE"))
(yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_INPLACE;
else if (is_identifier((yyvsp[0].lexer.lex_str), "INSTANT"))
(yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_INSTANT;
else if (is_identifier((yyvsp[0].lexer.lex_str), "COPY"))
(yyval.alter_table_algorithm)= Alter_info::ALTER_TABLE_ALGORITHM_COPY;
else
{
my_error(ER_UNKNOWN_ALTER_ALGORITHM, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 31624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1076:
#line 8317 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.alter_table_lock)= (yyvsp[0].alter_table_lock); }
#line 31630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1077:
#line 8322 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_DEFAULT;
}
#line 31638 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1078:
#line 8326 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[0].lexer.lex_str), "NONE"))
(yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_NONE;
else if (is_identifier((yyvsp[0].lexer.lex_str), "SHARED"))
(yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_SHARED;
else if (is_identifier((yyvsp[0].lexer.lex_str), "EXCLUSIVE"))
(yyval.alter_table_lock)= Alter_info::ALTER_TABLE_LOCK_EXCLUSIVE;
else
{
my_error(ER_UNKNOWN_ALTER_LOCK, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 31656 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1081:
#line 8347 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 31662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1082:
#line 8348 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 31668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1083:
#line 8352 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_restrict)= DROP_DEFAULT; }
#line 31674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1084:
#line 8353 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_restrict)= DROP_RESTRICT; }
#line 31680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1085:
#line 8354 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_restrict)= DROP_CASCADE; }
#line 31686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1086:
#line 8358 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= NULL; }
#line 31692 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1087:
#line 8359 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= (yyvsp[0].lexer.lex_str).str; }
#line 31698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1088:
#line 8360 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.c_str)= first_keyword; }
#line 31704 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1089:
#line 8364 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 31710 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1090:
#line 8365 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 31716 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1091:
#line 8366 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 31722 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1092:
#line 8367 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 31728 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1093:
#line 8372 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_START_GROUP_REPLICATION;
}
#line 31737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1094:
#line 8377 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_STOP_GROUP_REPLICATION;
}
#line 31746 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1095:
#line 8384 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 31752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1096:
#line 8386 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_SLAVE_STOP;
lex->type = 0;
lex->slave_thd_opt= (yyvsp[-1].num);
}
#line 31763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1097:
#line 8396 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
/* Clean previous slave connection values */
lex->slave_connection.reset();
lex->sql_command = SQLCOM_SLAVE_START;
lex->type = 0;
/* We'll use mi structure for UNTIL options */
lex->mi.set_unspecified();
lex->slave_thd_opt= (yyvsp[0].num);
}
#line 31778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1098:
#line 8411 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
It is not possible to set user's information when
one is trying to start the SQL Thread.
*/
if ((Lex->slave_thd_opt & SLAVE_SQL) == SLAVE_SQL &&
(Lex->slave_thd_opt & SLAVE_IO) != SLAVE_IO &&
(Lex->slave_connection.user ||
Lex->slave_connection.password ||
Lex->slave_connection.plugin_auth ||
Lex->slave_connection.plugin_dir))
{
my_error(ER_SQLTHREAD_WITH_SECURE_SLAVE, MYF(0));
MYSQL_YYABORT;
}
}
#line 31799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1100:
#line 8432 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_BEGIN;
/* READ ONLY and READ WRITE are mutually exclusive. */
if (((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_WRITE) &&
((yyvsp[0].num) & MYSQL_START_TRANS_OPT_READ_ONLY))
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
lex->start_transaction_opt= (yyvsp[0].num);
}
#line 31816 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1101:
#line 8448 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= 0;
}
#line 31824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1102:
#line 8452 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[0].num);
}
#line 31832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1103:
#line 8459 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[0].num);
}
#line 31840 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1104:
#line 8463 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num);
}
#line 31848 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1105:
#line 8470 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
}
#line 31856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1106:
#line 8474 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= MYSQL_START_TRANS_OPT_READ_ONLY;
}
#line 31864 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1107:
#line 8478 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= MYSQL_START_TRANS_OPT_READ_WRITE;
}
#line 31872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1109:
#line 8489 "sql_yacc.yy" /* yacc.c:1646 */
{
/* empty */
}
#line 31880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1110:
#line 8493 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->slave_connection.user= (yyvsp[0].lexer.lex_str).str;
}
#line 31888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1111:
#line 8499 "sql_yacc.yy" /* yacc.c:1646 */
{
/* empty */
}
#line 31896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1112:
#line 8503 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->slave_connection.password= (yyvsp[0].lexer.lex_str).str;
Lex->contains_plaintext_password= true;
}
#line 31905 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1113:
#line 8509 "sql_yacc.yy" /* yacc.c:1646 */
{
/* empty */
}
#line 31913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1114:
#line 8513 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->slave_connection.plugin_auth= (yyvsp[0].lexer.lex_str).str;
}
#line 31921 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1115:
#line 8519 "sql_yacc.yy" /* yacc.c:1646 */
{
/* empty */
}
#line 31929 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1116:
#line 8523 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->slave_connection.plugin_dir= (yyvsp[0].lexer.lex_str).str;
}
#line 31937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1117:
#line 8530 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= 0;
}
#line 31945 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1118:
#line 8534 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[0].num);
}
#line 31953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1119:
#line 8541 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[0].num);
}
#line 31961 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1120:
#line 8545 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= (yyvsp[-2].num) | (yyvsp[0].num);
}
#line 31969 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1121:
#line 8552 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= SLAVE_SQL;
}
#line 31977 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1122:
#line 8556 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= SLAVE_IO;
}
#line 31985 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1123:
#line 8563 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->mi.slave_until= false;
}
#line 31994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1124:
#line 8568 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (((lex->mi.log_file_name || lex->mi.pos) &&
lex->mi.gtid) ||
((lex->mi.relay_log_name || lex->mi.relay_log_pos) &&
lex->mi.gtid) ||
!((lex->mi.log_file_name && lex->mi.pos) ||
(lex->mi.relay_log_name && lex->mi.relay_log_pos) ||
lex->mi.gtid ||
lex->mi.until_after_gaps) ||
/* SQL_AFTER_MTS_GAPS is meaningless in combination */
/* with any other coordinates related options */
((lex->mi.log_file_name || lex->mi.pos || lex->mi.relay_log_name
|| lex->mi.relay_log_pos || lex->mi.gtid)
&& lex->mi.until_after_gaps))
{
my_error(ER_BAD_SLAVE_UNTIL_COND, MYF(0));
MYSQL_YYABORT;
}
lex->mi.slave_until= true;
}
#line 32020 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1127:
#line 8595 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.gtid= (yyvsp[0].lexer.lex_str).str;
Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_BEFORE_GTIDS;
}
#line 32029 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1128:
#line 8600 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.gtid= (yyvsp[0].lexer.lex_str).str;
Lex->mi.gtid_until_condition= LEX_MASTER_INFO::UNTIL_SQL_AFTER_GTIDS;
}
#line 32038 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1129:
#line 8605 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->mi.until_after_gaps= true;
}
#line 32046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1130:
#line 8612 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_CHECKSUM;
/* Will be overriden during execution. */
YYPS->m_lock_type= TL_UNLOCK;
if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING,
YYPS->m_lock_type, YYPS->m_mdl_type))
MYSQL_YYABORT;
Lex->check_opt.flags= (yyvsp[0].ulong_num);
}
#line 32061 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1131:
#line 8625 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 32067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1132:
#line 8626 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= T_QUICK; }
#line 32073 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1133:
#line 8627 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= T_EXTEND; }
#line 32079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1134:
#line 8633 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_repair_table_stmt(YYMEM_ROOT, (yyvsp[-3].num), (yyvsp[-1].table_list),
(yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags);
}
#line 32088 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1135:
#line 8640 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags = T_MEDIUM; (yyval.mi_type).sql_flags= 0; }
#line 32094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1138:
#line 8647 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.mi_type).flags= (yyvsp[-1].mi_type).flags | (yyvsp[0].mi_type).flags;
(yyval.mi_type).sql_flags= (yyvsp[-1].mi_type).sql_flags | (yyvsp[0].mi_type).sql_flags;
}
#line 32103 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1139:
#line 8654 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_QUICK; (yyval.mi_type).sql_flags= 0; }
#line 32109 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1140:
#line 8655 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_EXTEND; (yyval.mi_type).sql_flags= 0; }
#line 32115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1141:
#line 8656 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= 0; (yyval.mi_type).sql_flags= TT_USEFRM; }
#line 32121 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1142:
#line 8662 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_analyze_table_stmt(YYMEM_ROOT, (yyvsp[-3].num), (yyvsp[-1].table_list),
(yyvsp[0].histogram).command, (yyvsp[0].histogram).num_buckets,
(yyvsp[0].histogram).columns);
}
#line 32131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1143:
#line 8670 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= DEFAULT_NUMBER_OF_HISTOGRAM_BUCKETS; }
#line 32137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1144:
#line 8672 "sql_yacc.yy" /* yacc.c:1646 */
{
int error;
longlong num= my_strtoll10((yyvsp[-1].lexer.lex_str).str, nullptr, &error);
MYSQL_YYABORT_UNLESS(error <= 0);
if (num < 1 || num > MAX_NUMBER_OF_HISTOGRAM_BUCKETS)
{
my_error(ER_DATA_OUT_OF_RANGE, MYF(0), "Number of buckets",
"ANALYZE TABLE");
MYSQL_YYABORT;
}
(yyval.num)= num;
}
#line 32156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1145:
#line 8690 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.histogram).command= Sql_cmd_analyze_table::Histogram_command::NONE;
(yyval.histogram).columns= nullptr;
(yyval.histogram).num_buckets= 0;
}
#line 32166 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1146:
#line 8696 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.histogram).command=
Sql_cmd_analyze_table::Histogram_command::UPDATE_HISTOGRAM;
(yyval.histogram).columns= (yyvsp[-1].string_list);
(yyval.histogram).num_buckets= (yyvsp[0].num);
}
#line 32177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1147:
#line 8703 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.histogram).command=
Sql_cmd_analyze_table::Histogram_command::DROP_HISTOGRAM;
(yyval.histogram).columns= (yyvsp[0].string_list);
(yyval.histogram).num_buckets= 0;
}
#line 32188 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1148:
#line 8713 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
Lex->binlog_stmt_arg= (yyvsp[0].lexer.lex_str);
}
#line 32197 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1149:
#line 8721 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_check_table_stmt(YYMEM_ROOT, (yyvsp[-1].table_list),
(yyvsp[0].mi_type).flags, (yyvsp[0].mi_type).sql_flags);
}
#line 32206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1150:
#line 8728 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags = T_MEDIUM; (yyval.mi_type).sql_flags= 0; }
#line 32212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1153:
#line 8735 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.mi_type).flags= (yyvsp[-1].mi_type).flags | (yyvsp[0].mi_type).flags;
(yyval.mi_type).sql_flags= (yyvsp[-1].mi_type).sql_flags | (yyvsp[0].mi_type).sql_flags;
}
#line 32221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1154:
#line 8743 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_QUICK; (yyval.mi_type).sql_flags= 0; }
#line 32227 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1155:
#line 8745 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_FAST; (yyval.mi_type).sql_flags= 0; }
#line 32233 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1156:
#line 8747 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_MEDIUM; (yyval.mi_type).sql_flags= 0; }
#line 32239 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1157:
#line 8749 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_EXTEND; (yyval.mi_type).sql_flags= 0; }
#line 32245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1158:
#line 8751 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= T_CHECK_ONLY_CHANGED; (yyval.mi_type).sql_flags= 0; }
#line 32251 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1159:
#line 8753 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.mi_type).flags= 0; (yyval.mi_type).sql_flags= TT_FOR_UPGRADE; }
#line 32257 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1160:
#line 8758 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_optimize_table_stmt(YYMEM_ROOT, (yyvsp[-2].num), (yyvsp[0].table_list));
}
#line 32265 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1161:
#line 8764 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 32271 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1162:
#line 8765 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 32277 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1163:
#line 8766 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 32283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1164:
#line 8771 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_RENAME_TABLE;
}
#line 32291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1165:
#line 8775 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 32297 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1166:
#line 8777 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_RENAME_USER;
}
#line 32305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1167:
#line 8784 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 32314 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1168:
#line 8789 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 32323 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1171:
#line 8802 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
SELECT_LEX *sl= Select;
if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING,
TL_IGNORE, MDL_EXCLUSIVE) ||
!sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING,
TL_IGNORE, MDL_EXCLUSIVE))
MYSQL_YYABORT;
}
#line 32337 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1172:
#line 8815 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_cache_index_stmt(YYMEM_ROOT, (yyvsp[-2].keycache_list), (yyvsp[0].lex_cstr));
}
#line 32345 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1173:
#line 8820 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_cache_index_partitions_stmt(YYMEM_ROOT,
(yyvsp[-4].table), (yyvsp[-3].adm_partition), (yyvsp[-2].key_usage_list), (yyvsp[0].lex_cstr));
}
#line 32354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1174:
#line 8828 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.keycache_list)= NEW_PTN Mem_root_array<PT_assign_to_keycache *>(YYMEM_ROOT);
if ((yyval.keycache_list) == NULL || (yyval.keycache_list)->push_back((yyvsp[0].assign_to_keycache)))
MYSQL_YYABORT; // OOM
}
#line 32364 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1175:
#line 8834 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.keycache_list)= (yyvsp[-2].keycache_list);
if ((yyval.keycache_list)->push_back((yyvsp[0].assign_to_keycache)))
MYSQL_YYABORT; // OOM
}
#line 32374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1176:
#line 8843 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.assign_to_keycache)= NEW_PTN PT_assign_to_keycache((yyvsp[-1].table), (yyvsp[0].key_usage_list));
}
#line 32382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1177:
#line 8849 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr)= to_lex_cstring((yyvsp[0].lexer.lex_str)); }
#line 32388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1178:
#line 8850 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr) = default_key_cache_base; }
#line 32394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1179:
#line 8856 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_load_index_partitions_stmt(YYMEM_ROOT, (yyvsp[-3].table),(yyvsp[-2].adm_partition), (yyvsp[-1].key_usage_list), (yyvsp[0].is_not_empty));
}
#line 32402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1180:
#line 8860 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_load_index_stmt(YYMEM_ROOT, (yyvsp[0].preload_list));
}
#line 32410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1181:
#line 8867 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.preload_list)= NEW_PTN Mem_root_array<PT_preload_keys *>(YYMEM_ROOT);
if ((yyval.preload_list)->push_back((yyvsp[0].preload_keys)))
MYSQL_YYABORT; // OOM
}
#line 32420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1182:
#line 8873 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.preload_list)= (yyvsp[-2].preload_list);
if ((yyval.preload_list) == NULL || (yyval.preload_list)->push_back((yyvsp[0].preload_keys)))
MYSQL_YYABORT; // OOM
}
#line 32430 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1183:
#line 8882 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.preload_keys)= NEW_PTN PT_preload_keys((yyvsp[-2].table), (yyvsp[-1].key_usage_list), (yyvsp[0].is_not_empty));
}
#line 32438 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1184:
#line 8889 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.adm_partition)= NEW_PTN PT_adm_partition((yyvsp[-1].string_list));
}
#line 32446 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1185:
#line 8895 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_usage_list)= NULL; }
#line 32452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1186:
#line 8897 "sql_yacc.yy" /* yacc.c:1646 */
{
init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE,
old_mode ? INDEX_HINT_MASK_JOIN
: INDEX_HINT_MASK_ALL);
(yyval.key_usage_list)= (yyvsp[-1].key_usage_list);
}
#line 32463 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1187:
#line 8906 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 32469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1188:
#line 8907 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 32475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1189:
#line 8912 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[0].query_expression));
}
#line 32483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1190:
#line 8916 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].query_expression) == NULL)
MYSQL_YYABORT; // OOM
(yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[0].query_expression));
}
#line 32493 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1192:
#line 8958 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= (yyvsp[-1].top_level_node);
}
#line 32501 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1193:
#line 8962 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].query_expression) == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[-1].query_expression)->has_into_clause())
YYTHD->syntax_error_at((yylsp[0]));
(yyval.top_level_node)= NEW_PTN PT_select_stmt((yyvsp[-1].query_expression), (yyvsp[0].into_destination));
}
#line 32515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1194:
#line 9010 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body), (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1195:
#line 9018 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-4].with_clause), (yyvsp[-3].query_expression_body), (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32531 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1196:
#line 9025 "sql_yacc.yy" /* yacc.c:1646 */
{
auto nested= NEW_PTN PT_nested_query_expression((yyvsp[-3].query_expression));
auto body= NEW_PTN PT_query_expression_body_primary(nested);
(yyval.query_expression)= NEW_PTN PT_query_expression(body, (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1197:
#line 9035 "sql_yacc.yy" /* yacc.c:1646 */
{
auto nested= NEW_PTN PT_nested_query_expression((yyvsp[-3].query_expression));
auto body= NEW_PTN PT_query_expression_body_primary(nested);
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-4].with_clause), body, (yyvsp[-2].order), (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32551 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1198:
#line 9043 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].query_expression) == NULL)
MYSQL_YYABORT; // OOM
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-2].query_expression)->body(), NULL, (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1199:
#line 9052 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].query_expression) == NULL)
MYSQL_YYABORT; // OOM
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-3].with_clause), (yyvsp[-2].query_expression)->body(), NULL, (yyvsp[-1].limit_clause), (yyvsp[0].locking_clause_list));
}
#line 32571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1200:
#line 9060 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].query_expression) == NULL)
MYSQL_YYABORT; // OOM
(yyval.query_expression)= NEW_PTN PT_query_expression((yyvsp[-2].with_clause), (yyvsp[-1].query_expression)->body(), NULL, NULL, (yyvsp[0].locking_clause_list));
}
#line 32581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1201:
#line 9069 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_expression_body)= NEW_PTN PT_query_expression_body_primary((yyvsp[0].query_primary));
}
#line 32589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1202:
#line 9073 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_expression_body)= NEW_PTN PT_union(NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body)), (yylsp[-3]), (yyvsp[-1].num), (yyvsp[0].query_primary));
}
#line 32597 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1203:
#line 9077 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-3].query_expression) == NULL)
MYSQL_YYABORT; // OOM
(yyval.query_expression_body)= NEW_PTN PT_union((yyvsp[-3].query_expression), (yylsp[-3]), (yyvsp[-1].num), (yyvsp[0].query_primary));
}
#line 32608 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1204:
#line 9084 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].query_expression) == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].query_expression)->is_union())
YYTHD->syntax_error_at((yylsp[0]));
auto lhs_qe= NEW_PTN PT_query_expression((yyvsp[-3].query_expression_body));
PT_nested_query_expression *nested_qe=
NEW_PTN PT_nested_query_expression((yyvsp[0].query_expression));
(yyval.query_expression_body)= NEW_PTN PT_union(lhs_qe, (yylsp[-3]), (yyvsp[-1].num), nested_qe);
}
#line 32626 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1205:
#line 9098 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-3].query_expression) == NULL || (yyvsp[0].query_expression) == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].query_expression)->is_union())
YYTHD->syntax_error_at((yylsp[0]));
PT_nested_query_expression *nested_qe=
NEW_PTN PT_nested_query_expression((yyvsp[0].query_expression));
(yyval.query_expression_body)= NEW_PTN PT_union((yyvsp[-3].query_expression), (yylsp[-3]), (yyvsp[-1].num), nested_qe);
}
#line 32642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1206:
#line 9113 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.query_expression)= (yyvsp[-1].query_expression); }
#line 32648 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1207:
#line 9114 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.query_expression)= (yyvsp[-1].query_expression); }
#line 32654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1208:
#line 9119 "sql_yacc.yy" /* yacc.c:1646 */
{
// Bison doesn't get polymorphism.
(yyval.query_primary)= (yyvsp[0].query_primary);
}
#line 32663 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1209:
#line 9135 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_primary)= NEW_PTN PT_query_specification(
(yyvsp[-8].lexer.optimizer_hints), // SELECT_SYM
(yyvsp[-7].select_options), // select_options
(yyvsp[-6].item_list2), // select_item_list
(yyvsp[-5].into_destination), // into_clause
(yyvsp[-4].table_reference_list), // from
(yyvsp[-3].item), // where
(yyvsp[-2].group), // group
(yyvsp[-1].item), // having
(yyvsp[0].windows)); // windows
}
#line 32680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1210:
#line 9155 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.query_primary)= NEW_PTN PT_query_specification(
(yyvsp[-7].lexer.optimizer_hints), // SELECT_SYM
(yyvsp[-6].select_options), // select_options
(yyvsp[-5].item_list2), // select_item_list
NULL,// no INTO clause
(yyvsp[-4].table_reference_list), // from
(yyvsp[-3].item), // where
(yyvsp[-2].group), // group
(yyvsp[-1].item), // having
(yyvsp[0].windows)); // windows
}
#line 32697 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1211:
#line 9170 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference_list).init(YYMEM_ROOT); }
#line 32703 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1213:
#line 9175 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference_list)= (yyvsp[0].table_reference_list); }
#line 32709 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1214:
#line 9179 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference_list).init(YYMEM_ROOT); }
#line 32715 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1216:
#line 9185 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_reference_list).init(YYMEM_ROOT);
if ((yyval.table_reference_list).push_back((yyvsp[0].table_reference)))
MYSQL_YYABORT; // OOM
}
#line 32725 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1217:
#line 9191 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_reference_list)= (yyvsp[-2].table_reference_list);
if ((yyval.table_reference_list).push_back((yyvsp[0].table_reference)))
MYSQL_YYABORT; // OOM
}
#line 32735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1218:
#line 9200 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_options).query_spec_options= 0;
}
#line 32743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1220:
#line 9208 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.select_options).merge((yyvsp[-1].select_options), (yyvsp[0].select_options)))
MYSQL_YYABORT;
}
#line 32752 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1222:
#line 9217 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_options).query_spec_options= (yyvsp[0].ulonglong_number);
}
#line 32760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1223:
#line 9221 "sql_yacc.yy" /* yacc.c:1646 */
{
push_deprecated_warn_no_replacement(YYTHD, "SQL_NO_CACHE");
/* Ignored since MySQL 8.0. */
(yyval.select_options).query_spec_options= 0;
}
#line 32770 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1224:
#line 9229 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.locking_clause_list)= NULL; }
#line 32776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1226:
#line 9235 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.locking_clause_list)= (yyvsp[-1].locking_clause_list);
if ((yyval.locking_clause_list)->push_back((yyvsp[0].locking_clause)))
MYSQL_YYABORT; // OOM
}
#line 32786 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1227:
#line 9241 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.locking_clause_list)= NEW_PTN PT_locking_clause_list(YYTHD->mem_root);
if ((yyval.locking_clause_list) == nullptr || (yyval.locking_clause_list)->push_back((yyvsp[0].locking_clause)))
MYSQL_YYABORT; // OOM
}
#line 32796 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1228:
#line 9250 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.locking_clause)= NEW_PTN PT_query_block_locking_clause((yyvsp[-1].lock_strength), (yyvsp[0].locked_row_action));
}
#line 32804 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1229:
#line 9254 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.locking_clause)= NEW_PTN PT_table_locking_clause((yyvsp[-2].lock_strength), (yyvsp[-1].table_ident_list), (yyvsp[0].locked_row_action));
}
#line 32812 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1230:
#line 9258 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.locking_clause)= NEW_PTN PT_query_block_locking_clause(Lock_strength::SHARE);
}
#line 32820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1231:
#line 9264 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_strength)= Lock_strength::UPDATE; }
#line 32826 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1232:
#line 9265 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_strength)= Lock_strength::SHARE; }
#line 32832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1233:
#line 9269 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_ident_list)= (yyvsp[0].table_ident_list); }
#line 32838 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1234:
#line 9273 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.locked_row_action)= Locked_row_action::WAIT; }
#line 32844 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1236:
#line 9278 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.locked_row_action)= Locked_row_action::SKIP; }
#line 32850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1237:
#line 9279 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.locked_row_action)= Locked_row_action::NOWAIT; }
#line 32856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1238:
#line 9284 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 32866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1239:
#line 9290 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_select_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 32876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1240:
#line 9296 "sql_yacc.yy" /* yacc.c:1646 */
{
Item *item= NEW_PTN Item_field((yyloc), NULL, NULL, "*");
(yyval.item_list2)= NEW_PTN PT_select_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back(item))
MYSQL_YYABORT;
}
#line 32887 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1241:
#line 9305 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 32893 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1242:
#line 9307 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_expr_with_alias((yyloc), (yyvsp[-1].item), (yylsp[-1]).cpp, to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 32901 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1243:
#line 9314 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=null_lex_str;}
#line 32907 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1244:
#line 9315 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); }
#line 32913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1245:
#line 9316 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); }
#line 32919 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1246:
#line 9317 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); }
#line 32925 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1247:
#line 9318 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); }
#line 32931 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1248:
#line 9322 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 32937 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1249:
#line 9323 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 32943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1250:
#line 9329 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= flatten_associative_operator<Item_cond_or,
Item_func::COND_OR_FUNC>(
YYMEM_ROOT, (yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 32953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1251:
#line 9335 "sql_yacc.yy" /* yacc.c:1646 */
{
/* XOR is a proprietary extension */
(yyval.item) = NEW_PTN Item_func_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 32962 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1252:
#line 9340 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= flatten_associative_operator<Item_cond_and,
Item_func::COND_AND_FUNC>(
YYMEM_ROOT, (yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 32972 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1253:
#line 9346 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[0].item), Item::BOOL_NEGATED);
}
#line 32980 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1254:
#line 9350 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-2].item), Item::BOOL_IS_TRUE);
}
#line 32988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1255:
#line 9354 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-3].item), Item::BOOL_NOT_TRUE);
}
#line 32996 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1256:
#line 9358 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-2].item), Item::BOOL_IS_FALSE);
}
#line 33004 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1257:
#line 9362 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[-3].item), Item::BOOL_NOT_FALSE);
}
#line 33012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1258:
#line 9366 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item));
}
#line 33020 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1259:
#line 9370 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item));
}
#line 33028 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1261:
#line 9378 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_isnull((yyloc), (yyvsp[-2].item));
}
#line 33036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1262:
#line 9382 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_isnotnull((yyloc), (yyvsp[-3].item));
}
#line 33044 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1263:
#line 9386 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_comp_op((yyloc), (yyvsp[-2].item), (yyvsp[-1].boolfunc2creator), (yyvsp[0].item));
}
#line 33052 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1264:
#line 9390 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].boolfunc2creator) == &comp_equal_creator)
/*
We throw this manual parse error rather than split the rule
comp_op into a null-safe and a non null-safe rule, since doing
so would add a shift/reduce conflict. It's actually this rule
and the ones referencing it that cause all the conflicts, but
we still don't want the count to go up.
*/
YYTHD->syntax_error_at((yylsp[-2]));
(yyval.item)= NEW_PTN PTI_comp_op_all((yyloc), (yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].subquery));
}
#line 33069 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1266:
#line 9407 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-2].item), (yyvsp[0].subquery));
}
#line 33077 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1267:
#line 9411 "sql_yacc.yy" /* yacc.c:1646 */
{
Item *item= NEW_PTN Item_in_subselect((yyloc), (yyvsp[-3].item), (yyvsp[0].subquery));
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), item, Item::BOOL_NEGATED);
}
#line 33086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1268:
#line 9416 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-4].item), true, (yyvsp[-1].item));
}
#line 33094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1269:
#line 9420 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->push_front((yyvsp[-6].item)))
MYSQL_YYABORT;
(yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), false);
}
#line 33105 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1270:
#line 9427 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_handle_sql2003_note184_exception((yyloc), (yyvsp[-5].item), false, (yyvsp[-1].item));
}
#line 33113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1271:
#line 9431 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].item_list2) == NULL || (yyvsp[-1].item_list2)->push_front((yyvsp[-3].item)) || (yyvsp[-1].item_list2)->value.push_front((yyvsp[-7].item)))
MYSQL_YYABORT;
(yyval.item)= NEW_PTN Item_func_in((yyloc), (yyvsp[-1].item_list2), true);
}
#line 33124 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1272:
#line 9438 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_member_of((yyloc), (yyvsp[-5].item), (yyvsp[-1].item));
}
#line 33132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1273:
#line 9442 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item), false);
}
#line 33140 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1274:
#line 9446 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_between((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item), true);
}
#line 33148 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1275:
#line 9450 "sql_yacc.yy" /* yacc.c:1646 */
{
Item *item1= NEW_PTN Item_func_soundex((yyloc), (yyvsp[-3].item));
Item *item4= NEW_PTN Item_func_soundex((yyloc), (yyvsp[0].item));
if ((item1 == NULL) || (item4 == NULL))
MYSQL_YYABORT;
(yyval.item)= NEW_PTN Item_func_eq((yyloc), item1, item4);
}
#line 33160 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1276:
#line 9458 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item) = NEW_PTN Item_func_like((yyloc), (yyvsp[-2].item), (yyvsp[0].item), nullptr);
}
#line 33168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1277:
#line 9462 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item) = NEW_PTN Item_func_like((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1278:
#line 9466 "sql_yacc.yy" /* yacc.c:1646 */
{
auto item = NEW_PTN Item_func_like((yyloc), (yyvsp[-3].item), (yyvsp[0].item), nullptr);
(yyval.item) = NEW_PTN Item_func_not((yyloc), item);
}
#line 33185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1279:
#line 9471 "sql_yacc.yy" /* yacc.c:1646 */
{
auto item = NEW_PTN Item_func_like((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[0].item));
(yyval.item) = NEW_PTN Item_func_not((yyloc), item);
}
#line 33194 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1280:
#line 9476 "sql_yacc.yy" /* yacc.c:1646 */
{
auto args= NEW_PTN PT_item_list;
args->push_back((yyvsp[-2].item));
args->push_back((yyvsp[0].item));
(yyval.item)= NEW_PTN Item_func_regexp_like((yylsp[-2]), args);
}
#line 33206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1281:
#line 9484 "sql_yacc.yy" /* yacc.c:1646 */
{
auto args= NEW_PTN PT_item_list;
args->push_back((yyvsp[-3].item));
args->push_back((yyvsp[0].item));
Item *item= NEW_PTN Item_func_regexp_like((yyloc), args);
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), item, Item::BOOL_NEGATED);
}
#line 33218 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1285:
#line 9501 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_bit_or((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33226 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1286:
#line 9505 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_bit_and((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1287:
#line 9509 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_shift_left((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33242 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1288:
#line 9513 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_shift_right((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33250 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1289:
#line 9517 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_plus((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1290:
#line 9521 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_minus((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33266 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1291:
#line 9525 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 0);
}
#line 33274 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1292:
#line 9529 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-4].item), (yyvsp[-1].item), (yyvsp[0].interval), 1);
}
#line 33282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1293:
#line 9533 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_mul((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33290 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1294:
#line 9537 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item));
}
#line 33298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1295:
#line 9541 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item),(yyvsp[0].item));
}
#line 33306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1296:
#line 9545 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_int_div((yyloc), (yyvsp[-2].item),(yyvsp[0].item));
}
#line 33314 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1297:
#line 9549 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1298:
#line 9553 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_bit_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1303:
#line 9567 "sql_yacc.yy" /* yacc.c:1646 */
{
push_deprecated_warn(YYTHD, "&&", "AND");
}
#line 33338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1306:
#line 9578 "sql_yacc.yy" /* yacc.c:1646 */
{ push_deprecated_warn(YYTHD, "!", "NOT"); }
#line 33344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1308:
#line 9583 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_eq_creator; }
#line 33350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1309:
#line 9584 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_equal_creator; }
#line 33356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1310:
#line 9585 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_ge_creator; }
#line 33362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1311:
#line 9586 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_gt_creator; }
#line 33368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1312:
#line 9587 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_le_creator; }
#line 33374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1313:
#line 9588 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_lt_creator; }
#line 33380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1314:
#line 9589 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.boolfunc2creator) = &comp_ne_creator; }
#line 33386 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1315:
#line 9593 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num) = 1; }
#line 33392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1316:
#line 9594 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num) = 0; }
#line 33398 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1322:
#line 9604 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_set_collation((yyloc), (yyvsp[-2].item), (yyvsp[0].lexer.lex_str));
}
#line 33406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1324:
#line 9608 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].param_marker); }
#line 33412 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1328:
#line 9613 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_concat((yyloc), (yyvsp[-2].item), (yyvsp[0].item));
}
#line 33420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1329:
#line 9617 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= (yyvsp[0].item); // TODO: do we really want to ignore unary '+' before any kind of literals?
}
#line 33428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1330:
#line 9621 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_neg((yyloc), (yyvsp[0].item));
}
#line 33436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1331:
#line 9625 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_bit_neg((yyloc), (yyvsp[0].item));
}
#line 33444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1332:
#line 9629 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_truth_transform((yyloc), (yyvsp[0].item), Item::BOOL_NEGATED);
}
#line 33452 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1333:
#line 9633 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_singlerow_subselect((yyloc), (yyvsp[0].subquery));
}
#line 33460 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1334:
#line 9636 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[-1].item); }
#line 33466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1335:
#line 9638 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value);
}
#line 33474 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1336:
#line 9642 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_row((yyloc), (yyvsp[-3].item), (yyvsp[-1].item_list2)->value);
}
#line 33482 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1337:
#line 9646 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_exists_subselect((yyloc), (yyvsp[0].subquery));
}
#line 33490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1338:
#line 9650 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_odbc_date((yyloc), (yyvsp[-2].lexer.lex_str), (yyvsp[-1].item));
}
#line 33498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1339:
#line 9654 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_match((yyloc), (yyvsp[-5].item_list2), (yyvsp[-2].item), (yyvsp[-1].num));
}
#line 33506 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1340:
#line 9658 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= create_func_cast(YYTHD, (yylsp[0]), (yyvsp[0].item), ITEM_CAST_CHAR, &my_charset_bin);
}
#line 33514 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1341:
#line 9662 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= create_func_cast(YYTHD, (yylsp[-4]), (yyvsp[-4].item), &(yyvsp[-2].cast_type), (yyvsp[-1].num));
}
#line 33522 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1342:
#line 9666 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_case((yyloc), *(yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) );
}
#line 33530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1343:
#line 9670 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= create_func_cast(YYTHD, (yylsp[-3]), (yyvsp[-3].item), &(yyvsp[-1].cast_type));
}
#line 33538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1344:
#line 9674 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_conv_charset((yyloc), (yyvsp[-3].item),(yyvsp[-1].lexer.charset));
}
#line 33546 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1345:
#line 9678 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_default_value((yyloc), (yyvsp[-1].item));
}
#line 33554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1346:
#line 9682 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_insert_value((yyloc), (yyvsp[-1].item));
}
#line 33562 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1347:
#line 9687 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[0].item), (yyvsp[-3].item), (yyvsp[-2].interval), 0);
}
#line 33570 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1348:
#line 9691 "sql_yacc.yy" /* yacc.c:1646 */
{
Item_string *path=
NEW_PTN Item_string((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length,
YYTHD->variables.collation_connection);
(yyval.item)= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path);
}
#line 33581 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1349:
#line 9698 "sql_yacc.yy" /* yacc.c:1646 */
{
Item_string *path=
NEW_PTN Item_string((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length,
YYTHD->variables.collation_connection);
Item *extr= NEW_PTN Item_func_json_extract(YYTHD, (yyloc), (yyvsp[-2].item), path);
(yyval.item)= NEW_PTN Item_func_json_unquote((yyloc), extr);
}
#line 33593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1350:
#line 9708 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= false; }
#line 33599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1351:
#line 9709 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= true; }
#line 33605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1352:
#line 9720 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-1].item_list2));
}
#line 33613 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1353:
#line 9724 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_char((yyloc), (yyvsp[-3].item_list2), (yyvsp[-1].lexer.charset));
}
#line 33621 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1354:
#line 9728 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_current_user((yyloc));
}
#line 33629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1355:
#line 9732 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_typecast_date((yyloc), (yyvsp[-1].item));
}
#line 33637 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1356:
#line 9736 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_dayofmonth((yyloc), (yyvsp[-1].item));
}
#line 33645 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1357:
#line 9740 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_hour((yyloc), (yyvsp[-1].item));
}
#line 33653 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1358:
#line 9744 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_insert((yyloc), (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 33661 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1359:
#line 9748 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_interval((yyloc), YYMEM_ROOT, (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 33669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1360:
#line 9752 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_interval((yyloc), YYMEM_ROOT, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item_list2));
}
#line 33677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1361:
#line 9756 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_left((yyloc), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 33685 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1362:
#line 9760 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_minute((yyloc), (yyvsp[-1].item));
}
#line 33693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1363:
#line 9764 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_month((yyloc), (yyvsp[-1].item));
}
#line 33701 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1364:
#line 9768 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_right((yyloc), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 33709 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1365:
#line 9772 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_second((yyloc), (yyvsp[-1].item));
}
#line 33717 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1366:
#line 9776 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_typecast_time((yyloc), (yyvsp[-1].item));
}
#line 33725 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1367:
#line 9780 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_typecast_datetime((yyloc), (yyvsp[-1].item));
}
#line 33733 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1368:
#line 9784 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_add_time((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), 1, 0);
}
#line 33741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1369:
#line 9788 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item),
Item_func_trim::TRIM_BOTH_DEFAULT);
}
#line 33750 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1370:
#line 9793 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item),
Item_func_trim::TRIM_LEADING);
}
#line 33759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1371:
#line 9798 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item),
Item_func_trim::TRIM_TRAILING);
}
#line 33768 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1372:
#line 9803 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), Item_func_trim::TRIM_BOTH);
}
#line 33776 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1373:
#line 9807 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_LEADING);
}
#line 33784 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1374:
#line 9811 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_TRAILING);
}
#line 33792 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1375:
#line 9815 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), Item_func_trim::TRIM_BOTH);
}
#line 33800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1376:
#line 9819 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_trim((yyloc), (yyvsp[-1].item), (yyvsp[-3].item),
Item_func_trim::TRIM_BOTH_DEFAULT);
}
#line 33809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1377:
#line 9824 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_user((yyloc));
}
#line 33817 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1378:
#line 9828 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_year((yyloc), (yyvsp[-1].item));
}
#line 33825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1379:
#line 9847 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0);
}
#line 33833 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1380:
#line 9851 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
}
#line 33841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1381:
#line 9855 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_curdate_local((yyloc));
}
#line 33849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1382:
#line 9859 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_curtime_local((yyloc), static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 33857 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1383:
#line 9864 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
}
#line 33865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1384:
#line 9869 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
}
#line 33873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1385:
#line 9873 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_extract((yyloc), (yyvsp[-3].interval), (yyvsp[-1].item));
}
#line 33881 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1386:
#line 9877 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_get_format((yyloc), (yyvsp[-3].date_time_type), (yyvsp[-1].item));
}
#line 33889 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1387:
#line 9881 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_function_call_nonkeyword_now((yyloc),
static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 33898 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1388:
#line 9886 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_locate((yyloc), (yyvsp[-1].item),(yyvsp[-3].item));
}
#line 33906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1389:
#line 9890 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1);
}
#line 33914 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1390:
#line 9894 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
}
#line 33922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1391:
#line 9898 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
}
#line 33930 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1392:
#line 9902 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item));
}
#line 33938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1393:
#line 9906 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
}
#line 33946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1394:
#line 9910 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_substr((yyloc), (yyvsp[-3].item),(yyvsp[-1].item));
}
#line 33954 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1395:
#line 9914 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_function_call_nonkeyword_sysdate((yyloc),
static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 33963 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1396:
#line 9919 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_date_add_interval((yyloc), (yyvsp[-1].item), (yyvsp[-3].item), (yyvsp[-5].interval_time_st), 0);
}
#line 33971 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1397:
#line 9923 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_timestamp_diff((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st));
}
#line 33979 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1398:
#line 9927 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_curdate_utc((yyloc));
}
#line 33987 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1399:
#line 9931 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_curtime_utc((yyloc), static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 33995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1400:
#line 9935 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_now_utc((yyloc), static_cast<uint8>((yyvsp[0].ulong_num)));
}
#line 34003 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1401:
#line 9947 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_ascii((yyloc), (yyvsp[-1].item));
}
#line 34011 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1402:
#line 9951 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_charset((yyloc), (yyvsp[-1].item));
}
#line 34019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1403:
#line 9955 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_coalesce((yyloc), (yyvsp[-1].item_list2));
}
#line 34027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1404:
#line 9959 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_collation((yyloc), (yyvsp[-1].item));
}
#line 34035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1405:
#line 9963 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_database((yyloc));
}
#line 34043 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1406:
#line 9967 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_if((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
}
#line 34051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1407:
#line 9971 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 34059 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1408:
#line 9975 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_format((yyloc), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 34067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1409:
#line 9979 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_microsecond((yyloc), (yyvsp[-1].item));
}
#line 34075 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1410:
#line 9983 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_mod((yyloc), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 34083 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1411:
#line 9987 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_quarter((yyloc), (yyvsp[-1].item));
}
#line 34091 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1412:
#line 9991 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_repeat((yyloc), (yyvsp[-3].item),(yyvsp[-1].item));
}
#line 34099 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1413:
#line 9995 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_replace((yyloc), (yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
}
#line 34107 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1414:
#line 9999 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_reverse((yyloc), (yyvsp[-1].item));
}
#line 34115 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1415:
#line 10003 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_row_count((yyloc));
}
#line 34123 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1416:
#line 10007 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_round((yyloc), (yyvsp[-3].item),(yyvsp[-1].item),1);
}
#line 34131 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1417:
#line 10011 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-1].item), NULL);
}
#line 34139 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1418:
#line 10015 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_week((yyloc), (yyvsp[-3].item), (yyvsp[-1].item));
}
#line 34147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1419:
#line 10019 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-1].item), 0, 0, 0);
}
#line 34155 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1420:
#line 10023 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-4].item), 0, (yyvsp[-1].ulong_num), 0);
}
#line 34163 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1421:
#line 10027 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-4].item), 0, (yyvsp[-1].ulong_num), 0, true);
}
#line 34171 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1422:
#line 10031 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_weight_string((yyloc), (yyvsp[-7].item), (yyvsp[-5].ulong_num), (yyvsp[-3].ulong_num), (yyvsp[-1].ulong_num));
}
#line 34179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1424:
#line 10039 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_geometrycollection,
Geometry::wkb_point);
}
#line 34189 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1425:
#line 10045 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_linestring,
Geometry::wkb_point);
}
#line 34199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1426:
#line 10051 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_multilinestring,
Geometry::wkb_linestring);
}
#line 34209 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1427:
#line 10057 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_multipoint,
Geometry::wkb_point);
}
#line 34219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1428:
#line 10063 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_multipolygon,
Geometry::wkb_polygon);
}
#line 34229 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1429:
#line 10069 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_point((yyloc), (yyvsp[-3].item),(yyvsp[-1].item));
}
#line 34237 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1430:
#line 10073 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_spatial_collection((yyloc), (yyvsp[-1].item_list2),
Geometry::wkb_polygon,
Geometry::wkb_linestring);
}
#line 34247 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1431:
#line 10091 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_function_call_generic_ident_sys((yylsp[-3]), (yyvsp[-3].lexer.lex_str), (yyvsp[-1].item_list2));
}
#line 34255 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1432:
#line 10095 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_function_call_generic_2d((yyloc), (yyvsp[-5].lexer.lex_str), (yyvsp[-3].lexer.lex_str), (yyvsp[-1].item_list2));
}
#line 34263 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1433:
#line 10102 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
#line 34269 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1434:
#line 10104 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= FT_BOOL;
DBUG_EXECUTE_IF("simulate_bug18831513",
{
THD *thd= YYTHD;
if (thd->sp_runtime_ctx)
YYTHD->syntax_error();
});
}
#line 34283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1435:
#line 10116 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= FT_NL; }
#line 34289 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1436:
#line 10117 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= FT_NL; }
#line 34295 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1437:
#line 10121 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 34301 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1438:
#line 10122 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= FT_EXPAND; }
#line 34307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1439:
#line 10126 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= NULL; }
#line 34313 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1440:
#line 10127 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= (yyvsp[0].item_list2); }
#line 34319 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1441:
#line 10132 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 34329 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1442:
#line 10138 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 34339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1443:
#line 10147 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_udf_expr((yyloc), (yyvsp[-1].item), (yyvsp[0].lexer.lex_str), (yylsp[-1]).cpp);
}
#line 34347 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1446:
#line 10159 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-2].item), false, (yyvsp[0].window));
}
#line 34355 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1447:
#line 10163 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_avg((yyloc), (yyvsp[-2].item), true, (yyvsp[0].window));
}
#line 34363 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1448:
#line 10167 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_and((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1449:
#line 10171 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_or((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1450:
#line 10175 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_json_array((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34387 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1451:
#line 10179 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_json_object((yyloc), (yyvsp[-4].item), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34395 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1452:
#line 10183 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_xor((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34403 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1453:
#line 10187 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_count_sym((yyloc), (yyvsp[0].window));
}
#line 34411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1454:
#line 10191 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_count((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34419 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1455:
#line 10195 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= new Item_sum_count((yyloc), (yyvsp[-2].item_list2), (yyvsp[0].window));
}
#line 34427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1456:
#line 10199 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34435 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1457:
#line 10208 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_min((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34443 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1458:
#line 10212 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34451 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1459:
#line 10216 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_max((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34459 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1460:
#line 10220 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-2].item), 0, (yyvsp[0].window));
}
#line 34467 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1461:
#line 10224 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-2].item), 0, (yyvsp[0].window));
}
#line 34475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1462:
#line 10228 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_std((yyloc), (yyvsp[-2].item), 1, (yyvsp[0].window));
}
#line 34483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1463:
#line 10232 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_variance((yyloc), (yyvsp[-2].item), 1, (yyvsp[0].window));
}
#line 34491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1464:
#line 10236 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-2].item), false, (yyvsp[0].window));
}
#line 34499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1465:
#line 10240 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_sum_sum((yyloc), (yyvsp[-2].item), true, (yyvsp[0].window));
}
#line 34507 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1466:
#line 10247 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_group_concat((yyloc), (yyvsp[-5].num), (yyvsp[-4].item_list2), (yyvsp[-3].order_list), (yyvsp[-2].string), (yyvsp[0].window));
}
#line 34515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1467:
#line 10254 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_row_number((yyloc), (yyvsp[0].window));
}
#line 34523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1468:
#line 10258 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_rank((yyloc), false, (yyvsp[0].window));
}
#line 34531 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1469:
#line 10262 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_rank((yyloc), true, (yyvsp[0].window));
}
#line 34539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1470:
#line 10266 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_cume_dist((yyloc), (yyvsp[0].window));
}
#line 34547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1471:
#line 10270 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_percent_rank((yyloc), (yyvsp[0].window));
}
#line 34555 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1472:
#line 10274 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)=NEW_PTN Item_ntile((yyloc), (yyvsp[-2].item), (yyvsp[0].window));
}
#line 34563 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1473:
#line 10278 "sql_yacc.yy" /* yacc.c:1646 */
{
PT_item_list *args= NEW_PTN PT_item_list;
if (args == NULL || args->push_back((yyvsp[-4].item)))
MYSQL_YYABORT; // OOM
if ((yyvsp[-3].lead_lag_info).offset != NULL && args->push_back((yyvsp[-3].lead_lag_info).offset))
MYSQL_YYABORT; // OOM
if ((yyvsp[-3].lead_lag_info).default_value != NULL && args->push_back((yyvsp[-3].lead_lag_info).default_value))
MYSQL_YYABORT; // OOM
(yyval.item)= NEW_PTN Item_lead_lag((yyloc), true, args, (yyvsp[-1].null_treatment), (yyvsp[0].window));
}
#line 34578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1474:
#line 10289 "sql_yacc.yy" /* yacc.c:1646 */
{
PT_item_list *args= NEW_PTN PT_item_list;
if (args == NULL || args->push_back((yyvsp[-4].item)))
MYSQL_YYABORT; // OOM
if ((yyvsp[-3].lead_lag_info).offset != NULL && args->push_back((yyvsp[-3].lead_lag_info).offset))
MYSQL_YYABORT; // OOM
if ((yyvsp[-3].lead_lag_info).default_value != NULL && args->push_back((yyvsp[-3].lead_lag_info).default_value))
MYSQL_YYABORT; // OOM
(yyval.item)= NEW_PTN Item_lead_lag((yyloc), false, args, (yyvsp[-1].null_treatment), (yyvsp[0].window));
}
#line 34593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1475:
#line 10300 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_first_last_value((yyloc), true, (yyvsp[-3].item), (yyvsp[-1].null_treatment), (yyvsp[0].window));
}
#line 34601 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1476:
#line 10304 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_first_last_value((yyloc), false, (yyvsp[-3].item), (yyvsp[-1].null_treatment), (yyvsp[0].window));
}
#line 34609 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1477:
#line 10308 "sql_yacc.yy" /* yacc.c:1646 */
{
PT_item_list *args= NEW_PTN PT_item_list;
if (args == NULL ||
args->push_back((yyvsp[-6].item)) ||
args->push_back((yyvsp[-4].item)))
MYSQL_YYABORT;
(yyval.item)= NEW_PTN Item_nth_value((yyloc), args, (yyvsp[-2].from_first_last) == NFL_FROM_LAST, (yyvsp[-1].null_treatment), (yyvsp[0].window));
}
#line 34622 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1478:
#line 10320 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lead_lag_info).offset= NULL;
(yyval.lead_lag_info).default_value= NULL;
}
#line 34631 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1479:
#line 10325 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lead_lag_info).offset= (yyvsp[-1].item_num);
(yyval.lead_lag_info).default_value= (yyvsp[0].item);
}
#line 34640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1480:
#line 10330 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lead_lag_info).offset= (yyvsp[-1].param_marker);
(yyval.lead_lag_info).default_value= (yyvsp[0].item);
}
#line 34649 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1481:
#line 10338 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NULL;
}
#line 34657 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1482:
#line 10342 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= (yyvsp[0].item);
}
#line 34665 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1483:
#line 10349 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.null_treatment)= NT_NONE;
}
#line 34673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1484:
#line 10353 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.null_treatment)= NT_RESPECT_NULLS;
}
#line 34681 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1485:
#line 10357 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.null_treatment)= NT_IGNORE_NULLS;
}
#line 34689 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1486:
#line 10365 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.from_first_last)= NFL_NONE;
}
#line 34697 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1487:
#line 10369 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.from_first_last)= NFL_FROM_FIRST;
}
#line 34705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1488:
#line 10373 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.from_first_last)= NFL_FROM_LAST;
}
#line 34713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1489:
#line 10380 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= NULL;
}
#line 34721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1490:
#line 10384 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= (yyvsp[0].window);
}
#line 34729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1491:
#line 10391 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= (yyvsp[0].window);
}
#line 34737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1492:
#line 10398 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= NEW_PTN PT_window((yyvsp[0].item_string));
}
#line 34745 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1493:
#line 10402 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= (yyvsp[0].window);
}
#line 34753 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1494:
#line 10409 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_string)= NEW_PTN Item_string((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYTHD->charset());
}
#line 34761 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1495:
#line 10416 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= (yyvsp[-1].window);
}
#line 34769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1496:
#line 10426 "sql_yacc.yy" /* yacc.c:1646 */
{
auto frame= (yyvsp[0].window_frame);
if (!frame) // build an equivalent frame spec
{
auto start_bound= NEW_PTN PT_border(WBT_UNBOUNDED_PRECEDING);
auto end_bound= NEW_PTN PT_border((yyvsp[-1].order_list) ? WBT_CURRENT_ROW :
WBT_UNBOUNDED_FOLLOWING);
auto bounds= NEW_PTN PT_borders(start_bound, end_bound);
frame= NEW_PTN PT_frame(WFU_RANGE, bounds, nullptr);
frame->m_originally_absent= true;
}
(yyval.window)= NEW_PTN PT_window((yyvsp[-2].order_list), (yyvsp[-1].order_list), frame, (yyvsp[-3].item_string));
}
#line 34787 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1497:
#line 10443 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_string)= NULL;
}
#line 34795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1498:
#line 10447 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_string)= (yyvsp[0].item_string);
}
#line 34803 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1499:
#line 10454 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NULL;
}
#line 34811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1500:
#line 10458 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= (yyvsp[0].order_list);
}
#line 34819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1501:
#line 10465 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NULL;
}
#line 34827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1502:
#line 10469 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= (yyvsp[0].order_list);
}
#line 34835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1503:
#line 10476 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window_frame)= NULL;
}
#line 34843 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1504:
#line 10482 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window_frame)= NEW_PTN PT_frame((yyvsp[-2].frame_units), (yyvsp[-1].frame_extent), (yyvsp[0].frame_exclusion));
}
#line 34851 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1505:
#line 10489 "sql_yacc.yy" /* yacc.c:1646 */
{
auto end_bound= NEW_PTN PT_border(WBT_CURRENT_ROW);
(yyval.frame_extent)= NEW_PTN PT_borders((yyvsp[0].bound), end_bound);
}
#line 34860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1506:
#line 10494 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_extent)= (yyvsp[0].frame_extent);
}
#line 34868 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1507:
#line 10501 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_UNBOUNDED_PRECEDING);
}
#line 34876 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1508:
#line 10505 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-1].item_num));
}
#line 34884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1509:
#line 10509 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-1].param_marker));
}
#line 34892 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1510:
#line 10513 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_PRECEDING, (yyvsp[-2].item), (yyvsp[-1].interval));
}
#line 34900 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1511:
#line 10517 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_CURRENT_ROW);
}
#line 34908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1512:
#line 10524 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_extent)= NEW_PTN PT_borders((yyvsp[-2].bound), (yyvsp[0].bound));
}
#line 34916 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1513:
#line 10531 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= (yyvsp[0].bound);
}
#line 34924 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1514:
#line 10535 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_UNBOUNDED_FOLLOWING);
}
#line 34932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1515:
#line 10539 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-1].item_num));
}
#line 34940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1516:
#line 10543 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-1].param_marker));
}
#line 34948 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1517:
#line 10547 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.bound)= NEW_PTN PT_border(WBT_VALUE_FOLLOWING, (yyvsp[-2].item), (yyvsp[-1].interval));
}
#line 34956 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1518:
#line 10554 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_exclusion)= NULL;
}
#line 34964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1519:
#line 10558 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_CURRENT_ROW);
}
#line 34972 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1520:
#line 10562 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_GROUP);
}
#line 34980 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1521:
#line 10566 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_TIES);
}
#line 34988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1522:
#line 10570 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.frame_exclusion)= NEW_PTN PT_exclusion(WFX_NO_OTHERS);
}
#line 34995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1523:
#line 10575 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.frame_units)= WFU_ROWS; }
#line 35001 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1524:
#line 10576 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.frame_units)= WFU_RANGE; }
#line 35007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1525:
#line 10577 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.frame_units)= WFU_GROUPS; }
#line 35013 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1526:
#line 10582 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_grouping((yyloc), (yyvsp[-1].item_list2));
}
#line 35021 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1527:
#line 10588 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 35027 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1528:
#line 10593 "sql_yacc.yy" /* yacc.c:1646 */
{
push_warning(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_DEPRECATED_SYNTAX,
ER_THD(YYTHD, ER_WARN_DEPRECATED_USER_SET_EXPR));
(yyval.item)= NEW_PTN PTI_variable_aux_set_var((yyloc), (yyvsp[-2].lexer.lex_str), (yyvsp[0].item));
}
#line 35038 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1529:
#line 10600 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_variable_aux_ident_or_text((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 35046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1530:
#line 10604 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_variable_aux_3d((yyloc), (yyvsp[-2].var_type), (yyvsp[-1].lexer.lex_str), (yylsp[-1]), (yyvsp[0].lexer.lex_str));
}
#line 35054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1531:
#line 10610 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num) = 0; }
#line 35060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1532:
#line 10611 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num) = 1; }
#line 35066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1533:
#line 10616 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.string)= NEW_PTN String(",", 1, &my_charset_latin1);
if ((yyval.string) == NULL)
MYSQL_YYABORT;
}
#line 35076 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1534:
#line 10621 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.string) = (yyvsp[0].string); }
#line 35082 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1535:
#line 10625 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order_list)= NULL; }
#line 35088 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1536:
#line 10626 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order_list)= (yyvsp[0].order_list); }
#line 35094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1537:
#line 10631 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr));
(yyval.order_list)= (yyvsp[-2].order_list);
}
#line 35103 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1538:
#line 10636 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NEW_PTN PT_gorder_list();
if ((yyval.order_list) == NULL)
MYSQL_YYABORT;
(yyval.order_list)->push_back((yyvsp[0].order_expr));
}
#line 35114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1539:
#line 10646 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_in_sum_expr((yylsp[-1]), (yyvsp[0].item));
}
#line 35122 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1540:
#line 10653 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_CHAR;
(yyval.cast_type).charset= &my_charset_bin;
(yyval.cast_type).length= (yyvsp[0].c_str);
(yyval.cast_type).dec= NULL;
}
#line 35133 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1541:
#line 10660 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_CHAR;
(yyval.cast_type).length= (yyvsp[-1].c_str);
(yyval.cast_type).dec= NULL;
if ((yyvsp[0].charset_with_opt_binary).force_binary)
{
// Bugfix: before this patch we ignored [undocumented]
// collation modifier in the CAST(expr, CHAR(...) BINARY) syntax.
// To restore old behavior just remove this "if ($3...)" branch.
(yyval.cast_type).charset= get_bin_collation((yyvsp[0].charset_with_opt_binary).charset ? (yyvsp[0].charset_with_opt_binary).charset :
YYTHD->variables.collation_connection);
if ((yyval.cast_type).charset == NULL)
MYSQL_YYABORT;
}
else
(yyval.cast_type).charset= (yyvsp[0].charset_with_opt_binary).charset;
}
#line 35156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1542:
#line 10679 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_CHAR;
(yyval.cast_type).charset= national_charset_info;
(yyval.cast_type).length= (yyvsp[0].c_str);
(yyval.cast_type).dec= NULL;
warn_about_deprecated_national(YYTHD);
}
#line 35168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1543:
#line 10687 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_SIGNED_INT;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35179 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1544:
#line 10694 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_SIGNED_INT;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1545:
#line 10701 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35201 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1546:
#line 10708 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_UNSIGNED_INT;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1547:
#line 10715 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_DATE;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35223 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1548:
#line 10722 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_TIME;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= (yyvsp[0].c_str);
}
#line 35234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1549:
#line 10729 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target= ITEM_CAST_DATETIME;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= (yyvsp[0].c_str);
}
#line 35245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1550:
#line 10736 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target=ITEM_CAST_DECIMAL;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= (yyvsp[0].precision).length;
(yyval.cast_type).dec= (yyvsp[0].precision).dec;
}
#line 35256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1551:
#line 10743 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target=ITEM_CAST_JSON;
(yyval.cast_type).charset= NULL;
(yyval.cast_type).length= NULL;
(yyval.cast_type).dec= NULL;
}
#line 35267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1552:
#line 10750 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target = ((yyvsp[0].numeric_type) == Numeric_type::DOUBLE) ?
ITEM_CAST_DOUBLE : ITEM_CAST_FLOAT;
(yyval.cast_type).charset = nullptr;
(yyval.cast_type).length = nullptr;
(yyval.cast_type).dec = nullptr;
}
#line 35279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1553:
#line 10758 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.cast_type).target = ITEM_CAST_FLOAT;
(yyval.cast_type).charset = nullptr;
(yyval.cast_type).length = (yyvsp[0].precision).length;
(yyval.cast_type).dec = nullptr;
}
#line 35290 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1554:
#line 10767 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= NULL; }
#line 35296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1556:
#line 10773 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 35306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1557:
#line 10779 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 35316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1558:
#line 10787 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= (yyvsp[0].item_list2); }
#line 35322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1559:
#line 10788 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= (yyvsp[-1].item_list2); }
#line 35328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1560:
#line 10793 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 35338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1561:
#line 10799 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].item_list2) == NULL || (yyvsp[-2].item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 35348 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1562:
#line 10807 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= NULL; }
#line 35354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1563:
#line 10808 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 35360 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1564:
#line 10812 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= NULL; }
#line 35366 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1565:
#line 10813 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 35372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1566:
#line 10818 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list)= new (YYMEM_ROOT) List<Item>;
if ((yyval.item_list) == NULL)
MYSQL_YYABORT;
(yyval.item_list)->push_back((yyvsp[-2].item));
(yyval.item_list)->push_back((yyvsp[0].item));
}
#line 35384 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1567:
#line 10826 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-4].item_list)->push_back((yyvsp[-2].item));
(yyvsp[-4].item_list)->push_back((yyvsp[0].item));
(yyval.item_list)= (yyvsp[-4].item_list);
}
#line 35394 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1568:
#line 10834 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[0].table_reference); }
#line 35400 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1569:
#line 10835 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[0].join_table); }
#line 35406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1570:
#line 10837 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
The ODBC escape syntax for Outer Join.
All productions from table_factor and joined_table can be escaped,
not only the '{LEFT | RIGHT} [OUTER] JOIN' syntax.
*/
(yyval.table_reference) = (yyvsp[-1].table_reference);
}
#line 35420 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1571:
#line 10849 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[0].table_reference); }
#line 35426 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1572:
#line 10850 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[0].join_table); }
#line 35432 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1573:
#line 10932 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.join_table)= NEW_PTN PT_joined_table_on((yyvsp[-4].table_reference), (yylsp[-3]), (yyvsp[-3].join_type), (yyvsp[-2].table_reference), (yyvsp[0].item));
}
#line 35440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1574:
#line 10937 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-6].table_reference), (yylsp[-5]), (yyvsp[-5].join_type), (yyvsp[-4].table_reference), (yyvsp[-1].string_list));
}
#line 35448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1575:
#line 10941 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.join_table)= NEW_PTN PT_joined_table_on((yyvsp[-4].table_reference), (yylsp[-3]), (yyvsp[-3].join_type), (yyvsp[-2].table_reference), (yyvsp[0].item));
}
#line 35456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1576:
#line 10945 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-6].table_reference), (yylsp[-5]), (yyvsp[-5].join_type), (yyvsp[-4].table_reference), (yyvsp[-1].string_list));
}
#line 35464 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1577:
#line 10950 "sql_yacc.yy" /* yacc.c:1646 */
{
auto this_cross_join= NEW_PTN PT_cross_join((yyvsp[-2].table_reference), (yylsp[-1]), (yyvsp[-1].join_type), NULL);
if ((yyvsp[0].table_reference) == NULL)
MYSQL_YYABORT; // OOM
(yyval.join_table)= (yyvsp[0].table_reference)->add_cross_join(this_cross_join);
}
#line 35477 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1578:
#line 10959 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.join_table)= NEW_PTN PT_joined_table_using((yyvsp[-2].table_reference), (yylsp[-1]), (yyvsp[-1].join_type), (yyvsp[0].table_reference));
}
#line 35485 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1579:
#line 10965 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_NATURAL_INNER; }
#line 35491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1580:
#line 10966 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_NATURAL_RIGHT; }
#line 35497 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1581:
#line 10967 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_NATURAL_LEFT; }
#line 35503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1582:
#line 10971 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_INNER; }
#line 35509 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1583:
#line 10972 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_INNER; }
#line 35515 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1584:
#line 10973 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_INNER; }
#line 35521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1585:
#line 10974 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_STRAIGHT_INNER; }
#line 35527 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1586:
#line 10977 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_LEFT; }
#line 35533 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1587:
#line 10978 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_type)= JTT_RIGHT; }
#line 35539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1592:
#line 10996 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.string_list)= NULL; }
#line 35545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1594:
#line 11002 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.string_list)= (yyvsp[-1].string_list);
}
#line 35553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1597:
#line 11032 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference) = (yyvsp[0].derived_table); }
#line 35559 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1598:
#line 11034 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= NEW_PTN PT_table_factor_joined_table((yyvsp[0].join_table)); }
#line 35565 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1599:
#line 11036 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= NEW_PTN PT_table_reference_list_parens((yyvsp[0].table_reference_list)); }
#line 35571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1600:
#line 11037 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference) = (yyvsp[0].table_reference); }
#line 35577 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1601:
#line 11041 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference_list)= (yyvsp[-1].table_reference_list); }
#line 35583 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1602:
#line 11043 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_reference_list)= (yyvsp[-3].table_reference_list);
if ((yyval.table_reference_list).push_back((yyvsp[-1].table_reference)))
MYSQL_YYABORT; // OOM
}
#line 35593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1603:
#line 11051 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[-1].table_reference); }
#line 35599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1604:
#line 11052 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_reference)= (yyvsp[-1].table_reference); }
#line 35605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1605:
#line 11057 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_reference)= NEW_PTN PT_table_factor_table_ident((yyvsp[-3].table), (yyvsp[-2].string_list), (yyvsp[-1].lex_cstr), (yyvsp[0].key_usage_list));
}
#line 35613 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1606:
#line 11063 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_table)= (yyvsp[-1].join_table); }
#line 35619 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1607:
#line 11064 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.join_table)= (yyvsp[-1].join_table); }
#line 35625 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1608:
#line 11069 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
The alias is actually not optional at all, but being MySQL we
are friendly and give an informative error message instead of
just 'syntax error'.
*/
if ((yyvsp[-1].lex_cstr).str == nullptr)
my_message(ER_DERIVED_MUST_HAVE_ALIAS,
ER_THD(YYTHD, ER_DERIVED_MUST_HAVE_ALIAS), MYF(0));
(yyval.derived_table)= NEW_PTN PT_derived_table(false, (yyvsp[-2].subquery), (yyvsp[-1].lex_cstr), &(yyvsp[0].simple_ident_list));
}
#line 35642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1609:
#line 11082 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].lex_cstr).str == nullptr)
my_message(ER_DERIVED_MUST_HAVE_ALIAS,
ER_THD(YYTHD, ER_DERIVED_MUST_HAVE_ALIAS), MYF(0));
(yyval.derived_table)= NEW_PTN PT_derived_table(true, (yyvsp[-2].subquery), (yyvsp[-1].lex_cstr), &(yyvsp[0].simple_ident_list));
}
#line 35654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1610:
#line 11094 "sql_yacc.yy" /* yacc.c:1646 */
{
// Alias isn't optional, follow derived's behavior
if ((yyvsp[0].lex_cstr) == NULL_CSTR)
{
my_message(ER_TF_MUST_HAVE_ALIAS,
ER_THD(YYTHD, ER_TF_MUST_HAVE_ALIAS), MYF(0));
MYSQL_YYABORT;
}
(yyval.table_reference)= NEW_PTN PT_table_factor_function((yyvsp[-5].item), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].jtc_list), to_lex_string((yyvsp[0].lex_cstr)));
}
#line 35670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1611:
#line 11109 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jtc_list)= (yyvsp[-1].jtc_list);
}
#line 35678 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1612:
#line 11116 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jtc_list)= NEW_PTN Mem_root_array<PT_json_table_column *>(YYMEM_ROOT);
if ((yyval.jtc_list) == NULL || (yyval.jtc_list)->push_back((yyvsp[0].jt_column)))
MYSQL_YYABORT; // OOM
}
#line 35688 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1613:
#line 11122 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jtc_list)= (yyvsp[-2].jtc_list);
if ((yyval.jtc_list)->push_back((yyvsp[0].jt_column)))
MYSQL_YYABORT; // OOM
}
#line 35698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1614:
#line 11131 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_column)= NEW_PTN PT_json_table_column_for_ordinality((yyvsp[-2].lexer.lex_str));
}
#line 35706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1615:
#line 11136 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_column)= NEW_PTN PT_json_table_column_with_path((yyvsp[-6].lexer.lex_str), (yyvsp[-5].type), (yyvsp[-4].lexer.charset), (yyvsp[-3].jt_column_type), (yyvsp[-1].lexer.lex_str),
(yyvsp[0].jt_on_error_or_empty).error.type,
*(yyvsp[0].jt_on_error_or_empty).error.default_str,
(yyvsp[0].jt_on_error_or_empty).empty.type,
*(yyvsp[0].jt_on_error_or_empty).empty.default_str);
}
#line 35718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1616:
#line 11144 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_column)= NEW_PTN PT_json_table_column_with_nested_path((yyvsp[-1].lexer.lex_str), (yyvsp[0].jtc_list));
}
#line 35726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1617:
#line 11150 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_column_type)= enum_jt_column::JTC_PATH;
}
#line 35734 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1618:
#line 11154 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_column_type)= enum_jt_column::JTC_EXISTS;
}
#line 35742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1619:
#line 11161 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_error_or_empty).error.type= enum_jtc_on::JTO_IMPLICIT;
(yyval.jt_on_error_or_empty).error.default_str= &NULL_STR;
(yyval.jt_on_error_or_empty).empty.type= enum_jtc_on::JTO_IMPLICIT;
(yyval.jt_on_error_or_empty).empty.default_str= &NULL_STR;
}
#line 35754 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1620:
#line 11169 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_error_or_empty).error.type= enum_jtc_on::JTO_IMPLICIT;
(yyval.jt_on_error_or_empty).error.default_str= &NULL_STR;
(yyval.jt_on_error_or_empty).empty.type= (yyvsp[0].jt_on_response).type;
(yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[0].jt_on_response).default_str;
}
#line 35766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1621:
#line 11177 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_error_or_empty).error.type= (yyvsp[0].jt_on_response).type;
(yyval.jt_on_error_or_empty).error.default_str= (yyvsp[0].jt_on_response).default_str;
(yyval.jt_on_error_or_empty).empty.type= enum_jtc_on::JTO_IMPLICIT;
(yyval.jt_on_error_or_empty).empty.default_str= &NULL_STR;
}
#line 35778 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1622:
#line 11185 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_error_or_empty).error.type= (yyvsp[0].jt_on_response).type;
(yyval.jt_on_error_or_empty).error.default_str= (yyvsp[0].jt_on_response).default_str;
(yyval.jt_on_error_or_empty).empty.type= (yyvsp[-1].jt_on_response).type;
(yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[-1].jt_on_response).default_str;
}
#line 35790 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1623:
#line 11193 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_error_or_empty).error.type= (yyvsp[-1].jt_on_response).type;
(yyval.jt_on_error_or_empty).error.default_str= (yyvsp[-1].jt_on_response).default_str;
(yyval.jt_on_error_or_empty).empty.type= (yyvsp[0].jt_on_response).type;
(yyval.jt_on_error_or_empty).empty.default_str= (yyvsp[0].jt_on_response).default_str;
}
#line 35802 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1624:
#line 11203 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.jt_on_response)= (yyvsp[-2].jt_on_response); }
#line 35808 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1625:
#line 11206 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.jt_on_response)= (yyvsp[-2].jt_on_response); }
#line 35814 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1626:
#line 11210 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_response).type= enum_jtc_on::JTO_ERROR;
(yyval.jt_on_response).default_str= &NULL_STR;
}
#line 35823 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1627:
#line 11215 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_response).type= enum_jtc_on::JTO_NULL;
(yyval.jt_on_response).default_str= &NULL_STR;
}
#line 35832 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1628:
#line 11220 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.jt_on_response).type= enum_jtc_on::JTO_DEFAULT;
(yyval.jt_on_response).default_str= YYTHD->memdup_typed(&(yyvsp[0].lexer.lex_str));
}
#line 35841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1629:
#line 11228 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL;
}
#line 35849 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1630:
#line 11231 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= INDEX_HINT_MASK_JOIN; }
#line 35855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1631:
#line 11232 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= INDEX_HINT_MASK_ORDER; }
#line 35861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1632:
#line 11233 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= INDEX_HINT_MASK_GROUP; }
#line 35867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1633:
#line 11237 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_hint)= INDEX_HINT_FORCE; }
#line 35873 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1634:
#line 11238 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.index_hint)= INDEX_HINT_IGNORE; }
#line 35879 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1635:
#line 11244 "sql_yacc.yy" /* yacc.c:1646 */
{
init_index_hints((yyvsp[-1].key_usage_list), (yyvsp[-5].index_hint), (yyvsp[-3].num));
(yyval.key_usage_list)= (yyvsp[-1].key_usage_list);
}
#line 35888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1636:
#line 11250 "sql_yacc.yy" /* yacc.c:1646 */
{
init_index_hints((yyvsp[-1].key_usage_list), INDEX_HINT_USE, (yyvsp[-3].num));
(yyval.key_usage_list)= (yyvsp[-1].key_usage_list);
}
#line 35897 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1638:
#line 11259 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[0].key_usage_list)->concat((yyvsp[-1].key_usage_list));
(yyval.key_usage_list)= (yyvsp[0].key_usage_list);
}
#line 35906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1639:
#line 11266 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.key_usage_list)= NULL; }
#line 35912 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1642:
#line 11276 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_usage_list)= NEW_PTN List<Index_hint>;
Index_hint *hint= NEW_PTN Index_hint(NULL, 0);
if ((yyval.key_usage_list) == NULL || hint == NULL || (yyval.key_usage_list)->push_front(hint))
MYSQL_YYABORT;
}
#line 35923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1644:
#line 11287 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_usage_element)= NEW_PTN Index_hint((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
if ((yyval.key_usage_element) == NULL)
MYSQL_YYABORT;
}
#line 35933 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1645:
#line 11293 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_usage_element)= NEW_PTN Index_hint(STRING_WITH_LEN("PRIMARY"));
if ((yyval.key_usage_element) == NULL)
MYSQL_YYABORT;
}
#line 35943 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1646:
#line 11302 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.key_usage_list)= NEW_PTN List<Index_hint>;
if ((yyval.key_usage_list) == NULL || (yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element)))
MYSQL_YYABORT;
}
#line 35953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1647:
#line 11308 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.key_usage_list)->push_front((yyvsp[0].key_usage_element)))
MYSQL_YYABORT;
}
#line 35962 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1649:
#line 11320 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.string_list)= NEW_PTN List<String>;
String *s= NEW_PTN String(const_cast<const char *>((yyvsp[0].lexer.lex_str).str),
(yyvsp[0].lexer.lex_str).length,
system_charset_info);
if ((yyval.string_list) == NULL || s == NULL || (yyval.string_list)->push_back(s))
MYSQL_YYABORT;
}
#line 35975 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1650:
#line 11329 "sql_yacc.yy" /* yacc.c:1646 */
{
String *s= NEW_PTN String(const_cast<const char *>((yyvsp[0].lexer.lex_str).str),
(yyvsp[0].lexer.lex_str).length,
system_charset_info);
if (s == NULL || (yyvsp[-2].string_list)->push_back(s))
MYSQL_YYABORT;
(yyval.string_list)= (yyvsp[-2].string_list);
}
#line 35988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1651:
#line 11340 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 35994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1652:
#line 11341 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_DAY_HOUR; }
#line 36000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1653:
#line 11342 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
#line 36006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1654:
#line 11343 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_DAY_MINUTE; }
#line 36012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1655:
#line 11344 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_DAY_SECOND; }
#line 36018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1656:
#line 11345 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
#line 36024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1657:
#line 11346 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_HOUR_MINUTE; }
#line 36030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1658:
#line 11347 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_HOUR_SECOND; }
#line 36036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1659:
#line 11348 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
#line 36042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1660:
#line 11349 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_MINUTE_SECOND; }
#line 36048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1661:
#line 11350 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
#line 36054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1662:
#line 11351 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval)=INTERVAL_YEAR_MONTH; }
#line 36060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1663:
#line 11355 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_DAY; }
#line 36066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1664:
#line 11356 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_WEEK; }
#line 36072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1665:
#line 11357 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_HOUR; }
#line 36078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1666:
#line 11358 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_MINUTE; }
#line 36084 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1667:
#line 11359 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_MONTH; }
#line 36090 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1668:
#line 11360 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_QUARTER; }
#line 36096 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1669:
#line 11361 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_SECOND; }
#line 36102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1670:
#line 11362 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
#line 36108 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1671:
#line 11363 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.interval_time_st)=INTERVAL_YEAR; }
#line 36114 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1672:
#line 11367 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.date_time_type)= MYSQL_TIMESTAMP_DATE; }
#line 36120 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1673:
#line 11368 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.date_time_type)= MYSQL_TIMESTAMP_TIME; }
#line 36126 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1674:
#line 11369 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; }
#line 36132 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1675:
#line 11370 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.date_time_type)= MYSQL_TIMESTAMP_DATETIME; }
#line 36138 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1678:
#line 11379 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr) = NULL_CSTR; }
#line 36144 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1679:
#line 11380 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr) = to_lex_cstring((yyvsp[0].lexer.lex_str)); }
#line 36150 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1682:
#line 11389 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item) = nullptr; }
#line 36156 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1684:
#line 11394 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item) = NEW_PTN PTI_where((yylsp[0]), (yyvsp[0].item)); }
#line 36162 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1685:
#line 11398 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= NULL; }
#line 36168 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1686:
#line 11400 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= new PTI_having((yyloc), (yyvsp[0].item));
}
#line 36176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1687:
#line 11407 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.with_clause)= NEW_PTN PT_with_clause((yyvsp[0].with_list), false);
}
#line 36184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1688:
#line 11411 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.with_clause)= NEW_PTN PT_with_clause((yyvsp[0].with_list), true);
}
#line 36192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1689:
#line 11418 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].with_list)->push_back((yyvsp[0].common_table_expr)))
MYSQL_YYABORT;
}
#line 36201 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1690:
#line 11423 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.with_list)= NEW_PTN PT_with_list(YYTHD->mem_root);
if ((yyval.with_list) == NULL || (yyval.with_list)->push_back((yyvsp[0].common_table_expr)))
MYSQL_YYABORT; /* purecov: inspected */
}
#line 36211 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1691:
#line 11432 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX_STRING subq_text;
subq_text.length= (yylsp[0]).raw.length();
subq_text.str= YYTHD->strmake((yylsp[0]).raw.start, subq_text.length);
if (subq_text.str == NULL)
MYSQL_YYABORT; /* purecov: inspected */
uint subq_text_offset= (yylsp[0]).raw.start - YYLIP->get_buf();
(yyval.common_table_expr)= NEW_PTN PT_common_table_expr((yyvsp[-3].lexer.lex_str), subq_text, subq_text_offset,
(yyvsp[0].subquery), &(yyvsp[-2].simple_ident_list), YYTHD->mem_root);
if ((yyval.common_table_expr) == NULL)
MYSQL_YYABORT; /* purecov: inspected */
}
#line 36228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1692:
#line 11448 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
Because () isn't accepted by the rule of
simple_ident_list, we can use an empty array to
designates that the parenthesised list was omitted.
*/
(yyval.simple_ident_list).init(YYTHD->mem_root);
}
#line 36241 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1693:
#line 11457 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.simple_ident_list)= (yyvsp[-1].simple_ident_list);
}
#line 36249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1694:
#line 11464 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.simple_ident_list).init(YYTHD->mem_root);
if ((yyval.simple_ident_list).push_back(to_lex_cstring((yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT; /* purecov: inspected */
}
#line 36259 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1695:
#line 11470 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.simple_ident_list)= (yyvsp[-2].simple_ident_list);
if ((yyval.simple_ident_list).push_back(to_lex_cstring((yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT; /* purecov: inspected */
}
#line 36269 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1696:
#line 11479 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.windows)= NULL;
}
#line 36277 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1697:
#line 11483 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.windows)= (yyvsp[0].windows);
}
#line 36285 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1698:
#line 11490 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.windows)= NEW_PTN PT_window_list();
if ((yyval.windows) == NULL || (yyval.windows)->push_back((yyvsp[0].window)))
MYSQL_YYABORT; // OOM
}
#line 36295 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1699:
#line 11496 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].windows)->push_back((yyvsp[0].window)))
MYSQL_YYABORT; // OOM
(yyval.windows)= (yyvsp[-2].windows);
}
#line 36305 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1700:
#line 11505 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.window)= (yyvsp[0].window);
if ((yyval.window) == NULL)
MYSQL_YYABORT; // OOM
(yyval.window)->set_name((yyvsp[-2].item_string));
}
#line 36316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1701:
#line 11518 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.group)= NULL; }
#line 36322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1702:
#line 11520 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.group)= NEW_PTN PT_group((yyvsp[-1].order_list), (yyvsp[0].olap_type));
}
#line 36330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1703:
#line 11527 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr));
(yyval.order_list)= (yyvsp[-2].order_list);
}
#line 36339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1704:
#line 11532 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NEW_PTN PT_order_list();
if ((yyval.order_list) == NULL)
MYSQL_YYABORT;
(yyval.order_list)->push_back((yyvsp[0].order_expr));
}
#line 36350 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1705:
#line 11542 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.olap_type)= UNSPECIFIED_OLAP_TYPE; }
#line 36356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1706:
#line 11543 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.olap_type)= ROLLUP_TYPE; }
#line 36362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1707:
#line 11559 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= (yyvsp[-2].order_list);
(yyval.order_list)->push_back((yyvsp[0].order_expr));
}
#line 36371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1708:
#line 11564 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NEW_PTN PT_order_list();
if ((yyval.order_list) == NULL)
MYSQL_YYABORT;
(yyval.order_list)->push_back((yyvsp[0].order_expr));
}
#line 36382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1709:
#line 11574 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].order_direction));
}
#line 36390 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1710:
#line 11580 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order)= NULL; }
#line 36396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1712:
#line 11586 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order)= NEW_PTN PT_order((yyvsp[0].order_list));
}
#line 36404 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1713:
#line 11593 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyvsp[-2].order_list)->push_back((yyvsp[0].order_expr));
(yyval.order_list)= (yyvsp[-2].order_list);
}
#line 36413 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1714:
#line 11598 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_list)= NEW_PTN PT_order_list();
if ((yyval.order_list) == NULL)
MYSQL_YYABORT;
(yyval.order_list)->push_back((yyvsp[0].order_expr));
}
#line 36424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1715:
#line 11607 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order_direction)= ORDER_NOT_RELEVANT; }
#line 36430 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1717:
#line 11612 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order_direction)= ORDER_ASC; }
#line 36436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1718:
#line 11613 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.order_direction)= ORDER_DESC; }
#line 36442 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1719:
#line 11617 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.limit_clause)= NULL; }
#line 36448 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1721:
#line 11623 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.limit_clause)= NEW_PTN PT_limit_clause((yyvsp[0].limit_options));
}
#line 36456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1722:
#line 11630 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.limit_options).limit= (yyvsp[0].item);
(yyval.limit_options).opt_offset= NULL;
(yyval.limit_options).is_offset_first= false;
}
#line 36466 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1723:
#line 11636 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.limit_options).limit= (yyvsp[0].item);
(yyval.limit_options).opt_offset= (yyvsp[-2].item);
(yyval.limit_options).is_offset_first= true;
}
#line 36476 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1724:
#line 11642 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.limit_options).limit= (yyvsp[-2].item);
(yyval.limit_options).opt_offset= (yyvsp[0].item);
(yyval.limit_options).is_offset_first= false;
}
#line 36486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1725:
#line 11651 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_limit_option_ident((yyloc), to_lex_cstring((yyvsp[0].lexer.lex_str)), (yylsp[0]).raw);
}
#line 36494 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1726:
#line 11655 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_limit_option_param_marker((yyloc), (yyvsp[0].param_marker));
}
#line 36502 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1727:
#line 11659 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
}
#line 36510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1728:
#line 11663 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
}
#line 36518 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1729:
#line 11667 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
}
#line 36526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1730:
#line 11673 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= NULL; }
#line 36532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1731:
#line 11674 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item); }
#line 36538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1732:
#line 11678 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36544 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1733:
#line 11679 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); }
#line 36550 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1734:
#line 11680 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36556 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1735:
#line 11681 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36562 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1736:
#line 11682 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1737:
#line 11683 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1738:
#line 11687 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1739:
#line 11688 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= (ulong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); }
#line 36586 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1740:
#line 11689 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36592 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1741:
#line 11690 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36598 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1742:
#line 11691 "sql_yacc.yy" /* yacc.c:1646 */
{ MYSQL_YYABORT; }
#line 36604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1743:
#line 11695 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36610 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1744:
#line 11696 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36616 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1745:
#line 11697 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36622 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1746:
#line 11698 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36628 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1747:
#line 11699 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36634 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1748:
#line 11703 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1749:
#line 11704 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= (ulonglong) my_strtoll((yyvsp[0].lexer.lex_str).str, (char**) 0, 16); }
#line 36646 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1750:
#line 11705 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36652 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1751:
#line 11706 "sql_yacc.yy" /* yacc.c:1646 */
{ int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lexer.lex_str).str, nullptr, &error); }
#line 36658 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1752:
#line 11707 "sql_yacc.yy" /* yacc.c:1646 */
{ MYSQL_YYABORT; }
#line 36664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1753:
#line 11712 "sql_yacc.yy" /* yacc.c:1646 */
{ YYTHD->syntax_error(ER_ONLY_INTEGERS_ALLOWED); }
#line 36670 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1756:
#line 11722 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_var_list)= (yyvsp[-2].select_var_list);
if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident)))
MYSQL_YYABORT;
}
#line 36680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1757:
#line 11728 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_var_list)= NEW_PTN PT_select_var_list((yyloc));
if ((yyval.select_var_list) == NULL || (yyval.select_var_list)->push_back((yyvsp[0].select_var_ident)))
MYSQL_YYABORT;
}
#line 36690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1758:
#line 11737 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_var_ident)= NEW_PTN PT_select_var((yyvsp[0].lexer.lex_str));
}
#line 36698 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1759:
#line 11741 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_var_ident)= NEW_PTN PT_select_sp_var((yyvsp[0].lexer.lex_str));
}
#line 36706 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1760:
#line 11748 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.into_destination)= (yyvsp[0].into_destination);
}
#line 36714 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1761:
#line 11757 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.into_destination)= NEW_PTN PT_into_destination_outfile((yyloc), (yyvsp[-3].lexer.lex_str), (yyvsp[-2].lexer.charset), (yyvsp[-1].field_separators), (yyvsp[0].line_separators));
}
#line 36722 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1762:
#line 11761 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.into_destination)= NEW_PTN PT_into_destination_dumpfile((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 36730 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1763:
#line 11764 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.into_destination)= (yyvsp[0].select_var_list); }
#line 36736 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1764:
#line 11773 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_select_stmt(SQLCOM_DO,
NEW_PTN PT_query_expression(
NEW_PTN PT_query_expression_body_primary(
NEW_PTN PT_query_specification((yyvsp[-1].select_options), (yyvsp[0].item_list2)))));
}
#line 36747 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1765:
#line 11783 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.select_options).query_spec_options= 0;
}
#line 36755 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1766:
#line 11794 "sql_yacc.yy" /* yacc.c:1646 */
{
// Note: opt_restrict ($6) is ignored!
LEX *lex=Lex;
lex->sql_command = SQLCOM_DROP_TABLE;
lex->drop_temporary= (yyvsp[-4].is_not_empty);
lex->drop_if_exists= (yyvsp[-2].num);
YYPS->m_lock_type= TL_UNLOCK;
YYPS->m_mdl_type= MDL_EXCLUSIVE;
if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING,
YYPS->m_lock_type, YYPS->m_mdl_type))
MYSQL_YYABORT;
}
#line 36772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1767:
#line 11810 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_drop_index_stmt(YYMEM_ROOT, (yyvsp[-3].lexer.lex_str).str, (yyvsp[-1].table),
(yyvsp[0].opt_index_lock_and_algorithm).algo.get_or_default(),
(yyvsp[0].opt_index_lock_and_algorithm).lock.get_or_default());
}
#line 36782 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1768:
#line 11819 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_DROP_DB;
lex->drop_if_exists=(yyvsp[-1].num);
lex->name= (yyvsp[0].lexer.lex_str);
}
#line 36793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1769:
#line 11829 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_name *spname;
if ((yyvsp[-2].lexer.lex_str).str &&
(check_and_convert_db_name(&(yyvsp[-2].lexer.lex_str), false) != Ident_name_check::OK))
MYSQL_YYABORT;
if (sp_check_name(&(yyvsp[0].lexer.lex_str)))
MYSQL_YYABORT;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
MYSQL_YYABORT;
}
lex->sql_command = SQLCOM_DROP_FUNCTION;
lex->drop_if_exists= (yyvsp[-3].num);
spname= new (YYMEM_ROOT) sp_name(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str), true);
if (spname == NULL)
MYSQL_YYABORT;
spname->init_qname(thd);
lex->spname= spname;
}
#line 36820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1770:
#line 11852 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
Unlike DROP PROCEDURE, "DROP FUNCTION ident" should work
even if there is no current database. In this case it
applies only to UDF.
Hence we can't merge rules for "DROP FUNCTION ident.ident"
and "DROP FUNCTION ident" into one "DROP FUNCTION sp_name"
rule. sp_name assumes that database name should be always
provided - either explicitly or implicitly.
*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
LEX_STRING db= NULL_STR;
sp_name *spname;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
MYSQL_YYABORT;
}
if (thd->db().str && lex->copy_db_to(&db.str, &db.length))
MYSQL_YYABORT;
if (sp_check_name(&(yyvsp[0].lexer.lex_str)))
MYSQL_YYABORT;
lex->sql_command = SQLCOM_DROP_FUNCTION;
lex->drop_if_exists= (yyvsp[-1].num);
spname= new (YYMEM_ROOT) sp_name(to_lex_cstring(db), (yyvsp[0].lexer.lex_str), false);
if (spname == NULL)
MYSQL_YYABORT;
spname->init_qname(thd);
lex->spname= spname;
}
#line 36856 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1771:
#line 11887 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_drop_resource_group(to_lex_cstring((yyvsp[-1].lexer.lex_str)), (yyvsp[0].resource_group_flag_type));
}
#line 36864 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1772:
#line 11894 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->sphead)
{
my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
MYSQL_YYABORT;
}
lex->sql_command = SQLCOM_DROP_PROCEDURE;
lex->drop_if_exists= (yyvsp[-1].num);
lex->spname= (yyvsp[0].spname);
}
#line 36880 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1773:
#line 11909 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_DROP_USER;
lex->drop_if_exists= (yyvsp[-1].num);
lex->users_list= *(yyvsp[0].user_list);
}
#line 36891 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1774:
#line 11919 "sql_yacc.yy" /* yacc.c:1646 */
{
// Note: opt_restrict ($5) is ignored!
LEX *lex= Lex;
lex->sql_command= SQLCOM_DROP_VIEW;
lex->drop_if_exists= (yyvsp[-2].num);
YYPS->m_lock_type= TL_UNLOCK;
YYPS->m_mdl_type= MDL_EXCLUSIVE;
if (Select->add_tables(YYTHD, (yyvsp[-1].table_list), TL_OPTION_UPDATING,
YYPS->m_lock_type, YYPS->m_mdl_type))
MYSQL_YYABORT;
}
#line 36907 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1775:
#line 11934 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->drop_if_exists= (yyvsp[-1].num);
Lex->spname= (yyvsp[0].spname);
Lex->sql_command = SQLCOM_DROP_EVENT;
}
#line 36917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1776:
#line 11943 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_DROP_TRIGGER;
lex->drop_if_exists= (yyvsp[-1].num);
lex->spname= (yyvsp[0].spname);
Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_drop_trigger();
}
#line 36929 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1777:
#line 11954 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
auto cmd= NEW_PTN Sql_cmd_drop_tablespace{(yyvsp[-1].lexer.lex_str), pc};
if (!cmd)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 36951 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1778:
#line 11974 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT;
}
auto cmd= NEW_PTN Sql_cmd_drop_undo_tablespace{
DROP_UNDO_TABLESPACE, (yyvsp[-1].lexer.lex_str), {nullptr, 0}, pc};
if (!cmd)
MYSQL_YYABORT; // OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 36974 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1779:
#line 11996 "sql_yacc.yy" /* yacc.c:1646 */
{
auto pc= NEW_PTN Alter_tablespace_parse_context{YYTHD};
if (pc == NULL)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
if ((yyvsp[0].ts_options) != NULL)
{
if (YYTHD->is_error() || contextualize_array(pc, (yyvsp[0].ts_options)))
MYSQL_YYABORT; /* purecov: inspected */
}
auto cmd= NEW_PTN Sql_cmd_logfile_group{DROP_LOGFILE_GROUP,
(yyvsp[-1].lexer.lex_str), pc};
if (!cmd)
MYSQL_YYABORT; /* purecov: inspected */ // OOM
Lex->m_sql_cmd= cmd;
Lex->sql_command= SQLCOM_ALTER_TABLESPACE;
}
#line 36997 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1780:
#line 12019 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_DROP_SERVER;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_drop_server((yyvsp[0].lexer.lex_str), (yyvsp[-1].num));
}
#line 37006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1781:
#line 12027 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_drop_srs((yyvsp[0].ulonglong_number), (yyvsp[-1].num));
}
#line 37014 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1782:
#line 12034 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_drop_role((yyvsp[-1].num), (yyvsp[0].user_list));
}
#line 37022 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1783:
#line 12041 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_list)= NEW_PTN Mem_root_array<Table_ident *>(YYMEM_ROOT);
if ((yyval.table_list)->push_back((yyvsp[0].table)))
MYSQL_YYABORT; // OOM
}
#line 37032 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1784:
#line 12047 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_list)= (yyvsp[-2].table_list);
if ((yyval.table_list) == NULL || (yyval.table_list)->push_back((yyvsp[0].table)))
MYSQL_YYABORT; // OOM
}
#line 37042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1785:
#line 12056 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_ident_list).init(YYMEM_ROOT);
if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident)))
MYSQL_YYABORT; // OOM
}
#line 37052 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1786:
#line 12062 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_ident_list)= (yyvsp[-2].table_ident_list);
if ((yyval.table_ident_list).push_back((yyvsp[0].table_ident)))
MYSQL_YYABORT; // OOM
}
#line 37062 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1787:
#line 12070 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 37068 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1788:
#line 12071 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 1; }
#line 37074 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1789:
#line 12075 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 37080 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1790:
#line 12076 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 37086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1791:
#line 12080 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ts_options)= NULL; }
#line 37092 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1793:
#line 12086 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= NEW_PTN Mem_root_array<PT_alter_tablespace_option_base*>(YYMEM_ROOT);
if ((yyval.ts_options) == NULL || (yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 37102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1794:
#line 12092 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.ts_options)= (yyvsp[-2].ts_options);
if ((yyval.ts_options)->push_back((yyvsp[0].ts_option)))
MYSQL_YYABORT; /* purecov: inspected */ // OOM
}
#line 37112 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1797:
#line 12116 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-7].lexer.optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list),
(yyvsp[-1].column_row_value_list_pair).column_list, (yyvsp[-1].column_row_value_list_pair).row_value_list,
NULL,
(yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list);
}
#line 37123 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1798:
#line 12131 "sql_yacc.yy" /* yacc.c:1646 */
{
PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list;
if (one_row == NULL || one_row->push_back(&(yyvsp[-1].column_value_list_pair).value_list->value))
MYSQL_YYABORT; // OOM
(yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].lock_type), (yyvsp[-6].is_not_empty), (yyvsp[-4].table), (yyvsp[-3].string_list),
(yyvsp[-1].column_value_list_pair).column_list, one_row,
NULL,
(yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list);
}
#line 37137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1799:
#line 12148 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_insert(false, (yyvsp[-7].lexer.optimizer_hints), (yyvsp[-6].lock_type), (yyvsp[-5].is_not_empty), (yyvsp[-3].table), (yyvsp[-2].string_list),
(yyvsp[-1].insert_query_expression).column_list, NULL,
(yyvsp[-1].insert_query_expression).insert_query_expression,
(yyvsp[0].column_value_list_pair).column_list, (yyvsp[0].column_value_list_pair).value_list);
}
#line 37148 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1800:
#line 12163 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list),
(yyvsp[0].column_row_value_list_pair).column_list, (yyvsp[0].column_row_value_list_pair).row_value_list,
NULL,
NULL, NULL);
}
#line 37159 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1801:
#line 12176 "sql_yacc.yy" /* yacc.c:1646 */
{
PT_insert_values_list *one_row= NEW_PTN PT_insert_values_list;
if (one_row == NULL || one_row->push_back(&(yyvsp[0].column_value_list_pair).value_list->value))
MYSQL_YYABORT; // OOM
(yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-6].lexer.optimizer_hints), (yyvsp[-5].lock_type), false, (yyvsp[-3].table), (yyvsp[-2].string_list),
(yyvsp[0].column_value_list_pair).column_list, one_row,
NULL,
NULL, NULL);
}
#line 37173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1802:
#line 12191 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_insert(true, (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].lock_type), false, (yyvsp[-2].table), (yyvsp[-1].string_list),
(yyvsp[0].insert_query_expression).column_list, NULL,
(yyvsp[0].insert_query_expression).insert_query_expression,
NULL, NULL);
}
#line 37184 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1803:
#line 12200 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT; }
#line 37190 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1804:
#line 12201 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
#line 37196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1805:
#line 12203 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lock_type)= TL_WRITE_CONCURRENT_DEFAULT;
push_warning_printf(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_LEGACY_SYNTAX_CONVERTED,
ER_THD(YYTHD, ER_WARN_LEGACY_SYNTAX_CONVERTED),
"INSERT DELAYED", "INSERT");
}
#line 37209 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1806:
#line 12211 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE; }
#line 37215 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1807:
#line 12215 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= (yyvsp[0].lock_type); }
#line 37221 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1808:
#line 12217 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lock_type)= TL_WRITE_DEFAULT;
push_warning_printf(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_LEGACY_SYNTAX_CONVERTED,
ER_THD(YYTHD, ER_WARN_LEGACY_SYNTAX_CONVERTED),
"REPLACE DELAYED", "REPLACE");
}
#line 37234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1811:
#line 12234 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list;
(yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list);
}
#line 37243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1812:
#line 12239 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_row_value_list_pair).column_list= NEW_PTN PT_item_list;
(yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list);
}
#line 37252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1813:
#line 12244 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_row_value_list_pair).column_list= (yyvsp[-2].item_list2);
(yyval.column_row_value_list_pair).row_value_list= (yyvsp[0].values_list);
}
#line 37261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1814:
#line 12252 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.insert_query_expression).column_list= NEW_PTN PT_item_list;
(yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression);
}
#line 37270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1815:
#line 12257 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.insert_query_expression).column_list= NEW_PTN PT_item_list;
(yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression);
}
#line 37279 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1816:
#line 12262 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.insert_query_expression).column_list= (yyvsp[-2].item_list2);
(yyval.insert_query_expression).insert_query_expression= (yyvsp[0].query_expression);
}
#line 37288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1817:
#line 12270 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 37298 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1818:
#line 12276 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 37308 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1819:
#line 12285 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.values_list)= (yyvsp[0].values_list);
}
#line 37316 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1824:
#line 12302 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value))
MYSQL_YYABORT;
}
#line 37325 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1825:
#line 12307 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.values_list)= NEW_PTN PT_insert_values_list;
if ((yyval.values_list) == NULL || (yyval.values_list)->push_back(&(yyvsp[0].item_list2)->value))
MYSQL_YYABORT;
}
#line 37335 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1830:
#line 12326 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= (yyvsp[-1].item_list2); }
#line 37341 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1831:
#line 12331 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL)
MYSQL_YYABORT;
}
#line 37351 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1833:
#line 12341 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-2].item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
(yyval.item_list2)= (yyvsp[-2].item_list2);
}
#line 37361 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1834:
#line 12347 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == NULL || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT;
}
#line 37371 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1836:
#line 12357 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_default_value((yyloc));
}
#line 37379 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1837:
#line 12364 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_value_list_pair).value_list= NULL;
(yyval.column_value_list_pair).column_list= NULL;
}
#line 37388 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1838:
#line 12369 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_value_list_pair)= (yyvsp[0].column_value_list_pair);
}
#line 37396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1839:
#line 12387 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_update((yyvsp[-9].with_clause), (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].lock_type), (yyvsp[-6].is_not_empty), (yyvsp[-5].table_reference_list), (yyvsp[-3].column_value_list_pair).column_list, (yyvsp[-3].column_value_list_pair).value_list,
(yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item));
}
#line 37405 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1840:
#line 12394 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.with_clause)= NULL; }
#line 37411 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1841:
#line 12395 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.with_clause)= (yyvsp[0].with_clause); }
#line 37417 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1842:
#line 12400 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_value_list_pair)= (yyvsp[-2].column_value_list_pair);
if ((yyval.column_value_list_pair).column_list->push_back((yyvsp[0].column_value_pair).column) ||
(yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value))
MYSQL_YYABORT; // OOM
}
#line 37428 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1843:
#line 12407 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_value_list_pair).column_list= NEW_PTN PT_item_list;
(yyval.column_value_list_pair).value_list= NEW_PTN PT_item_list;
if ((yyval.column_value_list_pair).column_list == NULL || (yyval.column_value_list_pair).value_list == NULL ||
(yyval.column_value_list_pair).column_list->push_back((yyvsp[0].column_value_pair).column) ||
(yyval.column_value_list_pair).value_list->push_back((yyvsp[0].column_value_pair).value))
MYSQL_YYABORT; // OOM
}
#line 37441 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1844:
#line 12419 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.column_value_pair).column= (yyvsp[-2].item);
(yyval.column_value_pair).value= (yyvsp[0].item);
}
#line 37450 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1845:
#line 12426 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_DEFAULT; }
#line 37456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1846:
#line 12427 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
#line 37462 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1847:
#line 12443 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-9].with_clause), (yyvsp[-8].lexer.optimizer_hints), (yyvsp[-7].num), (yyvsp[-5].table), (yyvsp[-4].lex_cstr), (yyvsp[-3].string_list), (yyvsp[-2].item), (yyvsp[-1].order), (yyvsp[0].item));
}
#line 37470 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1848:
#line 12453 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-6].with_clause), (yyvsp[-5].lexer.optimizer_hints), (yyvsp[-4].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].table_reference_list), (yyvsp[0].item));
}
#line 37478 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1849:
#line 12464 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_delete((yyvsp[-7].with_clause), (yyvsp[-6].lexer.optimizer_hints), (yyvsp[-5].num), (yyvsp[-3].table_ident_list), (yyvsp[-1].table_reference_list), (yyvsp[0].item));
}
#line 37486 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1852:
#line 12475 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= 0; }
#line 37492 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1853:
#line 12476 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= (yyvsp[-1].opt_delete_option) | (yyvsp[0].num); }
#line 37498 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1854:
#line 12480 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_delete_option)= DELETE_QUICK; }
#line 37504 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1855:
#line 12481 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_delete_option)= DELETE_LOW_PRIORITY; }
#line 37510 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1856:
#line 12482 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.opt_delete_option)= DELETE_IGNORE; }
#line 37516 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1857:
#line 12487 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_truncate_table_stmt((yyvsp[0].table));
}
#line 37524 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1864:
#line 12507 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_CPU;
}
#line 37532 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1865:
#line 12511 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_MEMORY;
}
#line 37540 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1866:
#line 12515 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_BLOCK_IO;
}
#line 37548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1867:
#line 12519 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_CONTEXT;
}
#line 37556 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1868:
#line 12523 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_PAGE_FAULTS;
}
#line 37564 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1869:
#line 12527 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_IPC;
}
#line 37572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1870:
#line 12531 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_SWAPS;
}
#line 37580 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1871:
#line 12535 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_SOURCE;
}
#line 37588 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1872:
#line 12539 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->profile_options|= PROFILE_ALL;
}
#line 37596 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1873:
#line 12546 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->show_profile_query_id= 0;
}
#line 37604 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1874:
#line 12550 "sql_yacc.yy" /* yacc.c:1646 */
{
int error;
Lex->show_profile_query_id=
static_cast<my_thread_id>(my_strtoll10((yyvsp[0].lexer.lex_str).str, NULL, &error));
if (error != 0)
MYSQL_YYABORT;
}
#line 37616 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1875:
#line 12563 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (lex->create_info == NULL)
MYSQL_YYABORT; // OOM
}
#line 37627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1877:
#line 12574 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_DATABASES;
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_databases_query(
(yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 37640 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1878:
#line 12583 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *p= NEW_PTN PT_show_tables((yyloc), (yyvsp[-3].show_cmd_type), (yyvsp[-1].simple_string), (yyvsp[0].wild_or_where).wild, (yyvsp[0].wild_or_where).where);
MAKE_CMD(p);
}
#line 37650 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1879:
#line 12589 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_TRIGGERS;
lex->verbose= (yyvsp[-3].is_not_empty);
lex->select_lex->db= (yyvsp[-1].simple_string);
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_triggers_query(
(yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 37666 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1880:
#line 12601 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_EVENTS;
lex->select_lex->db= (yyvsp[-1].simple_string);
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_events_query(
(yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 37681 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1881:
#line 12612 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
lex->select_lex->db= (yyvsp[-1].simple_string);
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_tables_query((yyloc), YYTHD, lex->wild,
(yyvsp[0].wild_or_where).where, true) == nullptr)
MYSQL_YYABORT;
}
#line 37696 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1882:
#line 12623 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->set_wild((yyvsp[0].wild_or_where).wild)) {
MYSQL_YYABORT; // OOM
}
if ((yyvsp[0].wild_or_where).where != nullptr) {
ITEMIZE((yyvsp[0].wild_or_where).where, &(yyvsp[0].wild_or_where).where);
Select->set_where_cond((yyvsp[0].wild_or_where).where);
}
lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
lex->select_lex->db= (yyvsp[-1].simple_string);
if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES))
MYSQL_YYABORT;
}
#line 37715 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1883:
#line 12638 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_PLUGINS;
if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS))
MYSQL_YYABORT;
}
#line 37726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1884:
#line 12645 "sql_yacc.yy" /* yacc.c:1646 */
{
const bool is_temp_table=
Lex->create_info->options & HA_LEX_CREATE_TMP_TABLE;
if (resolve_engine(YYTHD, to_lex_cstring((yyvsp[-1].lexer.lex_str)), is_temp_table, true,
&Lex->create_info->db_type))
MYSQL_YYABORT;
}
#line 37738 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1885:
#line 12653 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_info->db_type= NULL; }
#line 37744 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1886:
#line 12660 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
// TODO: error if table_ident is <db>.<table> and opt_db is set.
if ((yyvsp[-1].simple_string))
(yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
Item *where= (yyvsp[0].wild_or_where).where;
LEX_STRING wild= (yyvsp[0].wild_or_where).wild;
DBUG_ASSERT((wild.str == nullptr) || (where == nullptr));
auto *p= where ? NEW_PTN PT_show_fields((yyloc), (yyvsp[-5].show_cmd_type), (yyvsp[-2].table), where)
: NEW_PTN PT_show_fields((yyloc), (yyvsp[-5].show_cmd_type), (yyvsp[-2].table), wild);
lex->sql_command= SQLCOM_SHOW_FIELDS;
MAKE_CMD(p);
}
#line 37766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1887:
#line 12678 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_SHOW_BINLOGS;
}
#line 37774 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1888:
#line 12682 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
}
#line 37782 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1889:
#line 12686 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
}
#line 37791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1890:
#line 12691 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].limit_clause) != NULL)
CONTEXTUALIZE((yyvsp[0].limit_clause));
}
#line 37800 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1891:
#line 12696 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS;
}
#line 37809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1892:
#line 12701 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[-1].limit_clause) != NULL)
CONTEXTUALIZE((yyvsp[-1].limit_clause));
}
#line 37818 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1893:
#line 12711 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
// TODO: error if table_ident is <db>.<table> and opt_db is set.
if ((yyvsp[-1].simple_string))
(yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
auto *p= NEW_PTN PT_show_keys((yyloc), (yyvsp[-5].is_not_empty), (yyvsp[-2].table), (yyvsp[0].item));
lex->sql_command= SQLCOM_SHOW_KEYS;
MAKE_CMD(p);
}
#line 37835 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1894:
#line 12724 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES))
MYSQL_YYABORT;
}
#line 37846 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1895:
#line 12731 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them.
Parse_context pc(YYTHD, Select);
if (create_select_for_variable(&pc, "warning_count"))
YYABORT;
Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_select(NULL);
}
#line 37858 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1896:
#line 12739 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them.
Parse_context pc(YYTHD, Select);
if (create_select_for_variable(&pc, "error_count"))
YYABORT;
Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_select(NULL);
}
#line 37870 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1897:
#line 12747 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].limit_clause) != NULL)
CONTEXTUALIZE((yyvsp[0].limit_clause));
Lex->sql_command = SQLCOM_SHOW_WARNS;
Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW WARNINGS doesn't clear them.
}
#line 37882 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1898:
#line 12755 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].limit_clause) != NULL)
CONTEXTUALIZE((yyvsp[0].limit_clause));
Lex->sql_command = SQLCOM_SHOW_ERRORS;
Lex->keep_diagnostics= DA_KEEP_DIAGNOSTICS; // SHOW ERRORS doesn't clear them.
}
#line 37894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1899:
#line 12763 "sql_yacc.yy" /* yacc.c:1646 */
{
push_warning_printf(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_DEPRECATED_SYNTAX,
ER_THD(YYTHD, ER_WARN_DEPRECATED_SYNTAX),
"SHOW PROFILES", "Performance Schema");
Lex->sql_command = SQLCOM_SHOW_PROFILES;
}
#line 37906 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1900:
#line 12771 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].limit_clause) != NULL)
CONTEXTUALIZE((yyvsp[0].limit_clause));
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_PROFILE;
if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0)
YYABORT;
}
#line 37920 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1901:
#line 12781 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_STATUS;
THD *thd= YYTHD;
LEX *lex= thd->lex;
if (lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if ((yyvsp[-2].var_type) == OPT_SESSION)
{
if (build_show_session_status(
(yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
else
{
if (build_show_global_status(
(yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
}
#line 37946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1902:
#line 12803 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;
Lex->verbose= (yyvsp[-1].is_not_empty);
}
#line 37955 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1903:
#line 12808 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_VARIABLES;
THD *thd= YYTHD;
LEX *lex= thd->lex;
if (lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if ((yyvsp[-2].var_type) == OPT_SESSION)
{
if (build_show_session_variables(
(yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
else
{
if (build_show_global_variables(
(yyloc), thd, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
}
#line 37981 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1904:
#line 12830 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_CHARSETS;
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_character_set_query(
(yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 37994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1905:
#line 12839 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_COLLATIONS;
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_collation_query(
(yyloc), YYTHD, Lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 38007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1906:
#line 12848 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
/* Show all available grants in the server */
}
#line 38017 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1907:
#line 12854 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *tmp= NEW_PTN PT_show_grants(0, 0);
MAKE_CMD(tmp);
}
#line 38026 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1908:
#line 12859 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *tmp= NEW_PTN PT_show_grants((yyvsp[0].lex_user), 0);
MAKE_CMD(tmp);
}
#line 38035 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1909:
#line 12864 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *tmp= NEW_PTN PT_show_grants((yyvsp[-2].lex_user), (yyvsp[0].user_list));
MAKE_CMD(tmp);
}
#line 38044 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1910:
#line 12869 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
Lex->create_info->options= (yyvsp[-1].is_not_empty) ? HA_LEX_CREATE_IF_NOT_EXISTS : 0;
Lex->name= (yyvsp[0].lexer.lex_str);
}
#line 38054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1911:
#line 12875 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command = SQLCOM_SHOW_CREATE;
if (!lex->select_lex->add_table_to_list(YYTHD, (yyvsp[0].table), NULL,0))
MYSQL_YYABORT;
lex->only_view= 0;
lex->create_info->storage_media= HA_SM_DEFAULT;
}
#line 38067 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1912:
#line 12884 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command = SQLCOM_SHOW_CREATE;
if (!lex->select_lex->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, 0))
MYSQL_YYABORT;
lex->only_view= 1;
}
#line 38079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1913:
#line 12892 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
}
#line 38087 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1914:
#line 12896 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
}
#line 38095 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1915:
#line 12900 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command = SQLCOM_SHOW_CREATE_PROC;
lex->spname= (yyvsp[0].spname);
}
#line 38106 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1916:
#line 12907 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command = SQLCOM_SHOW_CREATE_FUNC;
lex->spname= (yyvsp[0].spname);
}
#line 38117 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1917:
#line 12914 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER;
lex->spname= (yyvsp[0].spname);
}
#line 38127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1918:
#line 12920 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_procedures_query(
(yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 38141 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1919:
#line 12930 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
if (Lex->set_wild((yyvsp[0].wild_or_where).wild))
MYSQL_YYABORT; // OOM
if (dd::info_schema::build_show_procedures_query(
(yyloc), YYTHD, lex->wild, (yyvsp[0].wild_or_where).where) == nullptr)
MYSQL_YYABORT;
}
#line 38155 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1920:
#line 12940 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_PROC_CODE;
Lex->spname= (yyvsp[0].spname);
}
#line 38164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1921:
#line 12945 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHOW_FUNC_CODE;
Lex->spname= (yyvsp[0].spname);
}
#line 38173 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1922:
#line 12950 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->spname= (yyvsp[0].spname);
Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
}
#line 38182 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1923:
#line 12955 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_SHOW_CREATE_USER;
lex->grant_user=(yyvsp[0].lex_user);
}
#line 38192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1924:
#line 12964 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; }
#line 38198 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1925:
#line 12966 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; }
#line 38204 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1926:
#line 12968 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
#line 38210 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1931:
#line 12982 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.simple_string)= 0; }
#line 38216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1932:
#line 12983 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.simple_string)= (yyvsp[0].lexer.lex_str).str; }
#line 38222 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1933:
#line 12987 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= 0; }
#line 38228 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1934:
#line 12988 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= 1; }
#line 38234 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1935:
#line 12992 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= 0; }
#line 38240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1936:
#line 12993 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= 1; }
#line 38246 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1937:
#line 12997 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.show_cmd_type)= Show_cmd_type::STANDARD; }
#line 38252 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1938:
#line 12998 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.show_cmd_type)= Show_cmd_type::FULL_SHOW; }
#line 38258 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1939:
#line 12999 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.show_cmd_type)= Show_cmd_type::EXTENDED_SHOW; }
#line 38264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1940:
#line 13000 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.show_cmd_type)= Show_cmd_type::EXTENDED_FULL_SHOW; }
#line 38270 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1943:
#line 13009 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->mi.log_file_name = 0; }
#line 38276 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1944:
#line 13010 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->mi.log_file_name = (yyvsp[0].lexer.lex_str).str; }
#line 38282 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1945:
#line 13014 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->mi.pos = 4; /* skip magic number */ }
#line 38288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1946:
#line 13015 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->mi.pos = (yyvsp[0].ulonglong_number); }
#line 38294 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1947:
#line 13019 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.wild_or_where) = {}; }
#line 38300 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1948:
#line 13020 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.wild_or_where) = { (yyvsp[0].lexer.lex_str), {} }; }
#line 38306 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1949:
#line 13021 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.wild_or_where) = { {}, (yyvsp[0].item) }; }
#line 38312 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1950:
#line 13027 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_show_fields((yyloc), Show_cmd_type::STANDARD, (yyvsp[-1].table), (yyvsp[0].lexer.lex_str));
}
#line 38320 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1951:
#line 13034 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_explain((yyvsp[-1].explain_format_type), (yyvsp[0].top_level_node));
}
#line 38328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1957:
#line 13046 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_explain_for_connection(static_cast<my_thread_id>((yyvsp[0].ulong_num)));
}
#line 38336 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1960:
#line 13058 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.explain_format_type)= Explain_format_type::TRADITIONAL;
}
#line 38344 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1961:
#line 13062 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[0].lexer.lex_str), "JSON"))
(yyval.explain_format_type)= Explain_format_type::JSON;
else if (is_identifier((yyvsp[0].lexer.lex_str), "TRADITIONAL"))
(yyval.explain_format_type)= Explain_format_type::TRADITIONAL;
else if (is_identifier((yyvsp[0].lexer.lex_str), "TREE"))
(yyval.explain_format_type)= Explain_format_type::TREE;
else
{
my_error(ER_UNKNOWN_EXPLAIN_FORMAT, MYF(0), (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 38362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1962:
#line 13076 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.explain_format_type)= Explain_format_type::TREE_WITH_EXECUTE;
}
#line 38370 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1963:
#line 13082 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= LEX_STRING{ nullptr, 0 }; }
#line 38376 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1964:
#line 13084 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].string) != nullptr)
(yyval.lexer.lex_str)= (yyvsp[0].string)->lex_string();
}
#line 38385 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1966:
#line 13096 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_FLUSH;
lex->type= 0;
lex->no_write_to_binlog= (yyvsp[0].num);
}
#line 38396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1967:
#line 13103 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38402 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1968:
#line 13108 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->type|= REFRESH_TABLES;
/*
Set type of metadata and table locks for
FLUSH TABLES table_list [WITH READ LOCK].
*/
YYPS->m_lock_type= TL_READ_NO_INSERT;
YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO;
if (Select->add_tables(YYTHD, (yyvsp[0].table_list), TL_OPTION_UPDATING,
YYPS->m_lock_type, YYPS->m_mdl_type))
MYSQL_YYABORT;
}
#line 38419 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1969:
#line 13120 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1971:
#line 13125 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38431 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1972:
#line 13127 "sql_yacc.yy" /* yacc.c:1646 */
{
TABLE_LIST *tables= Lex->query_tables;
Lex->type|= REFRESH_READ_LOCK;
for (; tables; tables= tables->next_global)
{
tables->mdl_request.set_type(MDL_SHARED_NO_WRITE);
/* Don't try to flush views. */
tables->required_type= dd::enum_table_type::BASE_TABLE;
tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */
}
}
#line 38447 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1973:
#line 13139 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->query_tables == NULL) // Table list can't be empty
{
YYTHD->syntax_error(ER_NO_TABLES_USED);
MYSQL_YYABORT;
}
}
#line 38459 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1974:
#line 13147 "sql_yacc.yy" /* yacc.c:1646 */
{
TABLE_LIST *tables= Lex->query_tables;
Lex->type|= REFRESH_FOR_EXPORT;
for (; tables; tables= tables->next_global)
{
tables->mdl_request.set_type(MDL_SHARED_NO_WRITE);
/* Don't try to flush views. */
tables->required_type= dd::enum_table_type::BASE_TABLE;
tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */
}
}
#line 38475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1976:
#line 13163 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38481 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1977:
#line 13168 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_ERROR_LOG; }
#line 38487 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1978:
#line 13170 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_ENGINE_LOG; }
#line 38493 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1979:
#line 13172 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_GENERAL_LOG; }
#line 38499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1980:
#line 13174 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_SLOW_LOG; }
#line 38505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1981:
#line 13176 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_BINARY_LOG; }
#line 38511 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1982:
#line 13178 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_RELAY_LOG; }
#line 38517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1983:
#line 13180 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_HOSTS; }
#line 38523 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1984:
#line 13182 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_GRANT; }
#line 38529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1985:
#line 13184 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_LOG; }
#line 38535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1986:
#line 13186 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_STATUS; }
#line 38541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1987:
#line 13188 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_USER_RESOURCES; }
#line 38547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1988:
#line 13190 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_OPTIMIZER_COSTS; }
#line 38553 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1989:
#line 13194 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.table_list)= NULL; }
#line 38559 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1991:
#line 13200 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_RESET; lex->type=0;
}
#line 38568 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1992:
#line 13205 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1993:
#line 13207 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_RESET;
lex->type|= REFRESH_PERSIST;
lex->option_type= OPT_PERSIST;
}
#line 38585 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1996:
#line 13222 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->drop_if_exists= false;
lex->name= NULL_STR;
}
#line 38595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1997:
#line 13228 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->drop_if_exists= (yyvsp[-1].num);
lex->name= (yyvsp[0].lexer.lex_str);
}
#line 38605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 1998:
#line 13236 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type|= REFRESH_SLAVE; }
#line 38611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2000:
#line 13239 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->type|= REFRESH_MASTER;
/*
Reset Master should acquire global read lock
in order to avoid any parallel transaction commits
while the reset operation is going on.
*Only if* the thread is not already acquired the global
read lock, server will acquire global read lock
during the operation and release it at the
end of the reset operation.
*/
if (!(YYTHD)->global_read_lock.is_acquired())
Lex->type|= REFRESH_TABLES | REFRESH_READ_LOCK;
}
#line 38631 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2002:
#line 13258 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->reset_slave_info.all= false; }
#line 38637 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2003:
#line 13259 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->reset_slave_info.all= true; }
#line 38643 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2004:
#line 13263 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38649 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2005:
#line 13265 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].ulonglong_number) == 0 || (yyvsp[0].ulonglong_number) > MAX_ALLOWED_FN_EXT_RESET_MASTER)
{
my_error(ER_RESET_MASTER_TO_VALUE_OUT_OF_RANGE, MYF(0),
(yyvsp[0].ulonglong_number), MAX_ALLOWED_FN_EXT_RESET_MASTER);
MYSQL_YYABORT;
}
else
Lex->next_binlog_file_nr = (yyvsp[0].ulonglong_number);
}
#line 38664 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2006:
#line 13279 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->type=0;
lex->sql_command = SQLCOM_PURGE;
}
#line 38674 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2007:
#line 13285 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 38680 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2009:
#line 13294 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->to_log = (yyvsp[0].lexer.lex_str).str;
}
#line 38688 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2010:
#line 13298 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
LEX *lex= Lex;
lex->purge_value_list.empty();
lex->purge_value_list.push_front((yyvsp[0].item));
lex->sql_command= SQLCOM_PURGE_BEFORE;
}
#line 38701 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2011:
#line 13312 "sql_yacc.yy" /* yacc.c:1646 */
{
ITEMIZE((yyvsp[0].item), &(yyvsp[0].item));
LEX *lex=Lex;
lex->kill_value_list.empty();
lex->kill_value_list.push_front((yyvsp[0].item));
lex->sql_command= SQLCOM_KILL;
}
#line 38714 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2012:
#line 13323 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type= 0; }
#line 38720 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2013:
#line 13324 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type= 0; }
#line 38726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2014:
#line 13325 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->type= ONLY_KILL_QUERY; }
#line 38732 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2015:
#line 13332 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command=SQLCOM_CHANGE_DB;
lex->select_lex->db= (yyvsp[0].lexer.lex_str).str;
}
#line 38742 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2016:
#line 13360 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_load_table((yyvsp[-16].filetype), // data_or_xml
(yyvsp[-15].lock_type), // load_data_lock
(yyvsp[-14].is_not_empty), // opt_local
(yyvsp[-12].lexer.lex_str), // TEXT_STRING_filesystem
(yyvsp[-11].on_duplicate), // opt_duplicate
(yyvsp[-8].table), // table_ident
(yyvsp[-7].string_list), // opt_use_partition
(yyvsp[-6].lexer.charset), // opt_load_data_charset
(yyvsp[-5].string), // opt_xml_rows_identified_by
(yyvsp[-4].field_separators), // opt_field_term
(yyvsp[-3].line_separators), // opt_line_term
(yyvsp[-2].ulong_num), // opt_ignore_lines
(yyvsp[-1].item_list2), // opt_field_or_var_spec
(yyvsp[0].load_set_list).set_var_list,// opt_load_data_set_spec
(yyvsp[0].load_set_list).set_expr_list,
(yyvsp[0].load_set_list).set_expr_str_list);
}
#line 38765 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2017:
#line 13381 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.filetype)= FILETYPE_CSV; }
#line 38771 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2018:
#line 13382 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.filetype)= FILETYPE_XML; }
#line 38777 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2019:
#line 13386 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 38783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2020:
#line 13387 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 38789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2021:
#line 13391 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_DEFAULT; }
#line 38795 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2022:
#line 13392 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; }
#line 38801 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2023:
#line 13393 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
#line 38807 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2024:
#line 13397 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.on_duplicate)= On_duplicate::ERROR; }
#line 38813 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2026:
#line 13402 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.on_duplicate)= On_duplicate::REPLACE_DUP; }
#line 38819 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2027:
#line 13403 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.on_duplicate)= On_duplicate::IGNORE_DUP; }
#line 38825 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2028:
#line 13407 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.field_separators).cleanup(); }
#line 38831 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2029:
#line 13408 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.field_separators)= (yyvsp[0].field_separators); }
#line 38837 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2030:
#line 13413 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_separators)= (yyvsp[-1].field_separators);
(yyval.field_separators).merge_field_separators((yyvsp[0].field_separators));
}
#line 38846 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2032:
#line 13422 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_separators).cleanup();
(yyval.field_separators).field_term= (yyvsp[0].string);
}
#line 38855 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2033:
#line 13427 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_separators).cleanup();
(yyval.field_separators).enclosed= (yyvsp[0].string);
(yyval.field_separators).opt_enclosed= 1;
}
#line 38865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2034:
#line 13433 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_separators).cleanup();
(yyval.field_separators).enclosed= (yyvsp[0].string);
}
#line 38874 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2035:
#line 13438 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.field_separators).cleanup();
(yyval.field_separators).escaped= (yyvsp[0].string);
}
#line 38883 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2036:
#line 13445 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.line_separators).cleanup(); }
#line 38889 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2037:
#line 13446 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.line_separators)= (yyvsp[0].line_separators); }
#line 38895 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2038:
#line 13451 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.line_separators)= (yyvsp[-1].line_separators);
(yyval.line_separators).merge_line_separators((yyvsp[0].line_separators));
}
#line 38904 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2040:
#line 13460 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.line_separators).cleanup();
(yyval.line_separators).line_term= (yyvsp[0].string);
}
#line 38913 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2041:
#line 13465 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.line_separators).cleanup();
(yyval.line_separators).line_start= (yyvsp[0].string);
}
#line 38922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2042:
#line 13472 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.string)= nullptr; }
#line 38928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2043:
#line 13473 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.string)= (yyvsp[0].string); }
#line 38934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2044:
#line 13477 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= 0; }
#line 38940 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2045:
#line 13478 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulong_num)= atol((yyvsp[-1].lexer.lex_str).str); }
#line 38946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2048:
#line 13487 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= nullptr; }
#line 38952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2049:
#line 13488 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= (yyvsp[-1].item_list2); }
#line 38958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2050:
#line 13489 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item_list2)= nullptr; }
#line 38964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2051:
#line 13494 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= (yyvsp[-2].item_list2);
if ((yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT; // OOM
}
#line 38974 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2052:
#line 13500 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_list2)= NEW_PTN PT_item_list;
if ((yyval.item_list2) == nullptr || (yyval.item_list2)->push_back((yyvsp[0].item)))
MYSQL_YYABORT; // OOM
}
#line 38984 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2054:
#line 13510 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_user_var_as_out_param((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 38992 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2055:
#line 13516 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.load_set_list)= {nullptr, nullptr, nullptr}; }
#line 38998 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2056:
#line 13517 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.load_set_list)= (yyvsp[0].load_set_list); }
#line 39004 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2057:
#line 13522 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.load_set_list)= (yyvsp[-2].load_set_list);
if ((yyval.load_set_list).set_var_list->push_back((yyvsp[0].load_set_element).set_var) ||
(yyval.load_set_list).set_expr_list->push_back((yyvsp[0].load_set_element).set_expr) ||
(yyval.load_set_list).set_expr_str_list->push_back((yyvsp[0].load_set_element).set_expr_str))
MYSQL_YYABORT; // OOM
}
#line 39016 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2058:
#line 13530 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.load_set_list).set_var_list= NEW_PTN PT_item_list;
if ((yyval.load_set_list).set_var_list == nullptr ||
(yyval.load_set_list).set_var_list->push_back((yyvsp[0].load_set_element).set_var))
MYSQL_YYABORT; // OOM
(yyval.load_set_list).set_expr_list= NEW_PTN PT_item_list;
if ((yyval.load_set_list).set_expr_list == nullptr ||
(yyval.load_set_list).set_expr_list->push_back((yyvsp[0].load_set_element).set_expr))
MYSQL_YYABORT; // OOM
(yyval.load_set_list).set_expr_str_list= NEW_PTN List<String>;
if ((yyval.load_set_list).set_expr_str_list == nullptr ||
(yyval.load_set_list).set_expr_str_list->push_back((yyvsp[0].load_set_element).set_expr_str))
MYSQL_YYABORT; // OOM
}
#line 39037 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2059:
#line 13550 "sql_yacc.yy" /* yacc.c:1646 */
{
size_t length= (yylsp[0]).cpp.end - (yylsp[-1]).cpp.start;
if ((yyvsp[0].item) == nullptr)
MYSQL_YYABORT; // OOM
(yyvsp[0].item)->item_name.copy((yylsp[-1]).cpp.start, length, YYTHD->charset());
(yyval.load_set_element).set_var= (yyvsp[-2].item);
(yyval.load_set_element).set_expr= (yyvsp[0].item);
(yyval.load_set_element).set_expr_str= NEW_PTN String((yylsp[-1]).cpp.start,
length,
YYTHD->charset());
if ((yyval.load_set_element).set_expr_str == nullptr)
MYSQL_YYABORT; // OOM
}
#line 39057 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2060:
#line 13571 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.text_literal)= NEW_PTN PTI_text_literal_text_string((yyloc),
YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lexer.lex_str));
}
#line 39066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2061:
#line 13576 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.text_literal)= NEW_PTN PTI_text_literal_nchar_string((yyloc),
YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[0].lexer.lex_str));
warn_about_deprecated_national(YYTHD);
}
#line 39076 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2062:
#line 13582 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.text_literal)= NEW_PTN PTI_text_literal_underscore_charset((yyloc),
YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str));
}
#line 39085 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2063:
#line 13587 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.text_literal)= NEW_PTN PTI_text_literal_concat((yyloc),
YYTHD->m_parser_state->m_lip.text_string_is_7bit(), (yyvsp[-1].text_literal), (yyvsp[0].lexer.lex_str));
}
#line 39094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2064:
#line 13595 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.string)= NEW_PTN String((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length,
YYTHD->variables.collation_connection);
if ((yyval.string) == NULL)
MYSQL_YYABORT;
}
#line 39105 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2065:
#line 13602 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX_CSTRING s= Item_hex_string::make_hex_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
(yyval.string)= NEW_PTN String(s.str, s.length, &my_charset_bin);
if ((yyval.string) == NULL)
MYSQL_YYABORT;
}
#line 39116 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2066:
#line 13609 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX_CSTRING s= Item_bin_string::make_bin_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
(yyval.string)= NEW_PTN String(s.str, s.length, &my_charset_bin);
if ((yyval.string) == NULL)
MYSQL_YYABORT;
}
#line 39127 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2067:
#line 13619 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *i= NEW_PTN Item_param((yyloc), YYMEM_ROOT,
(uint) ((yylsp[0]).raw.start - YYLIP->get_buf()));
if (i == NULL)
MYSQL_YYABORT;
auto *lex= Lex;
/*
If we are not re-parsing a CTE definition, this is a
real parameter, so add it to param_list.
*/
if (!lex->reparse_common_table_expr_at &&
lex->param_list.push_back(i))
MYSQL_YYABORT;
(yyval.param_marker)= i;
}
#line 39147 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2069:
#line 13638 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item_num); }
#line 39153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2070:
#line 13640 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].item_num) == NULL)
MYSQL_YYABORT; // OOM
(yyvsp[0].item_num)->max_length++;
(yyval.item)= (yyvsp[0].item_num)->neg();
}
#line 39164 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2071:
#line 13650 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].text_literal); }
#line 39170 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2072:
#line 13651 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= (yyvsp[0].item_num); }
#line 39176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2074:
#line 13654 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex_input_stream *lip= YYLIP;
/*
For the digest computation, in this context only,
NULL is considered a literal, hence reduced to '?'
REDUCE:
TOK_GENERIC_VALUE := NULL_SYM
*/
lip->reduce_digest_token(TOK_GENERIC_VALUE, NULL_SYM);
(yyval.item)= NEW_PTN Item_null((yyloc));
}
#line 39192 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2075:
#line 13666 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_false((yyloc));
}
#line 39200 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2076:
#line 13670 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_func_true((yyloc));
}
#line 39208 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2077:
#line 13674 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_hex_string((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 39216 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2078:
#line 13678 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_bin_string((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 39224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2079:
#line 13682 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_literal_underscore_charset_hex_num((yyloc), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str));
}
#line 39232 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2080:
#line 13686 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_literal_underscore_charset_bin_num((yyloc), (yyvsp[-1].lexer.charset), (yyvsp[0].lexer.lex_str));
}
#line 39240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2081:
#line 13693 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_num)= NEW_PTN Item_int((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 39248 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2082:
#line 13697 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_num)= NEW_PTN Item_int((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 39256 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2083:
#line 13701 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_num)= NEW_PTN Item_uint((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
}
#line 39264 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2084:
#line 13705 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_num)= NEW_PTN Item_decimal((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, YYCSCL);
}
#line 39272 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2085:
#line 13709 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item_num)= NEW_PTN Item_float((yyloc), (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length);
}
#line 39280 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2086:
#line 13717 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DATE, YYCSCL);
}
#line 39288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2087:
#line 13721 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_TIME, YYCSCL);
}
#line 39296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2088:
#line 13725 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_temporal_literal((yyloc), (yyvsp[0].lexer.lex_str), MYSQL_TYPE_DATETIME, YYCSCL);
}
#line 39304 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2091:
#line 13744 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_table_wild((yyloc), NULL, (yyvsp[-2].lexer.lex_str).str);
}
#line 39312 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2092:
#line 13748 "sql_yacc.yy" /* yacc.c:1646 */
{
if (check_and_convert_db_name(&(yyvsp[-4].lexer.lex_str), false) != Ident_name_check::OK)
MYSQL_YYABORT;
(yyval.item)= NEW_PTN PTI_table_wild((yyloc), (yyvsp[-4].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).str);
}
#line 39322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2093:
#line 13757 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[-1].item), (yyvsp[0].order_direction));
}
#line 39330 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2094:
#line 13764 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.order_expr)= NEW_PTN PT_order_expr((yyvsp[0].item), ORDER_NOT_RELEVANT);
}
#line 39338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2095:
#line 13771 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_simple_ident_ident((yyloc), to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 39346 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2097:
#line 13779 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_simple_ident_nospvar_ident((yyloc), (yyvsp[0].lexer.lex_str));
}
#line 39354 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2099:
#line 13787 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN PTI_simple_ident_q_2d((yyloc), (yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str);
}
#line 39362 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2100:
#line 13791 "sql_yacc.yy" /* yacc.c:1646 */
{
if (check_and_convert_db_name(&(yyvsp[-4].lexer.lex_str), false) != Ident_name_check::OK)
MYSQL_YYABORT;
(yyval.item)= NEW_PTN PTI_simple_ident_q_3d((yyloc), (yyvsp[-4].lexer.lex_str).str, (yyvsp[-2].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).str);
}
#line 39372 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2101:
#line 13800 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str)));
if ((yyval.table) == NULL)
MYSQL_YYABORT;
}
#line 39382 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2102:
#line 13806 "sql_yacc.yy" /* yacc.c:1646 */
{
if (YYTHD->get_protocol()->has_client_capability(CLIENT_NO_SCHEMA))
(yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str)));
else {
(yyval.table)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
if ((yyval.table) == NULL)
MYSQL_YYABORT;
}
#line 39396 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2103:
#line 13819 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_ident)= NEW_PTN Table_ident(to_lex_cstring((yyvsp[-1].lexer.lex_str)));
if ((yyval.table_ident) == NULL)
MYSQL_YYABORT;
}
#line 39406 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2104:
#line 13825 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.table_ident)= NEW_PTN Table_ident(YYTHD->get_protocol(),
to_lex_cstring((yyvsp[-3].lexer.lex_str)),
to_lex_cstring((yyvsp[-1].lexer.lex_str)), 0);
if ((yyval.table_ident) == NULL)
MYSQL_YYABORT;
}
#line 39418 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2105:
#line 13835 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str); }
#line 39424 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2106:
#line 13837 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (thd->charset_is_system_charset)
{
const CHARSET_INFO *cs= system_charset_info;
int dummy_error;
size_t wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lexer.lex_str).str,
(yyvsp[0].lexer.lex_str).str+(yyvsp[0].lexer.lex_str).length,
(yyvsp[0].lexer.lex_str).length, &dummy_error);
if (wlen < (yyvsp[0].lexer.lex_str).length)
{
ErrConvString err((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, &my_charset_bin);
my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
cs->csname, err.ptr());
MYSQL_YYABORT;
}
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
}
else
{
if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info,
(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()))
MYSQL_YYABORT;
}
}
#line 39455 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2107:
#line 13867 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!strcont((yyvsp[0].lexer.lex_str).str, "\n"))
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
my_error(ER_WRONG_VALUE, MYF(0), "argument contains not-allowed LF", (yyvsp[0].lexer.lex_str).str);
MYSQL_YYABORT;
}
}
#line 39469 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2108:
#line 13880 "sql_yacc.yy" /* yacc.c:1646 */
{
if (strcont((yyvsp[0].lexer.lex_str).str, "."))
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
my_error(ER_INVALID_RPL_WILD_TABLE_FILTER_PATTERN, MYF(0));
MYSQL_YYABORT;
}
}
#line 39483 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2109:
#line 13893 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (thd->charset_is_system_charset)
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info,
(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()))
MYSQL_YYABORT;
}
}
#line 39500 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2110:
#line 13909 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (thd->charset_is_collation_connection)
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
if (thd->convert_string(&(yyval.lexer.lex_str), thd->variables.collation_connection,
(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()))
MYSQL_YYABORT;
}
}
#line 39517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2111:
#line 13925 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (thd->charset_is_character_set_filesystem)
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
if (thd->convert_string(&(yyval.lexer.lex_str),
thd->variables.character_set_filesystem,
(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset()))
MYSQL_YYABORT;
}
}
#line 39535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2114:
#line 13947 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str)= to_lex_string(Item_hex_string::make_hex_str((yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length));
}
#line 39543 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2115:
#line 13954 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
if (thd->charset_is_system_charset)
(yyval.lexer.lex_str)= (yyvsp[0].lexer.lex_str);
else
{
if (thd->convert_string(&(yyval.lexer.lex_str), system_charset_info,
(yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length, thd->charset(), true))
MYSQL_YYABORT;
}
}
#line 39560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2116:
#line 13969 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str); }
#line 39566 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2117:
#line 13971 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
(yyval.lexer.lex_str).str= thd->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length);
if ((yyval.lexer.lex_str).str == NULL)
MYSQL_YYABORT;
(yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length;
}
#line 39578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2119:
#line 13983 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str).str= YYTHD->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length);
if ((yyval.lexer.lex_str).str == NULL)
MYSQL_YYABORT;
(yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length;
}
#line 39589 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2120:
#line 13992 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstr)=to_lex_cstring((yyvsp[0].lexer.lex_str)); }
#line 39595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2121:
#line 13994 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
(yyval.lex_cstr).str= thd->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length);
if ((yyval.lex_cstr).str == NULL)
MYSQL_YYABORT;
(yyval.lex_cstr).length= (yyvsp[0].lexer.keyword).length;
}
#line 39607 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2123:
#line 14006 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str).str= YYTHD->strmake((yyvsp[0].lexer.keyword).str, (yyvsp[0].lexer.keyword).length);
if ((yyval.lexer.lex_str).str == NULL)
MYSQL_YYABORT;
(yyval.lexer.lex_str).length= (yyvsp[0].lexer.keyword).length;
}
#line 39618 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2124:
#line 14015 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);}
#line 39624 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2125:
#line 14016 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);}
#line 39630 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2126:
#line 14017 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lexer.lex_str)=(yyvsp[0].lexer.lex_str);}
#line 39636 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2130:
#line 14028 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[0].lexer.lex_str), NULL)))
MYSQL_YYABORT;
}
#line 39645 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2131:
#line 14033 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[-2].lexer.lex_str), &(yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT;
}
#line 39654 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2132:
#line 14041 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)=(yyvsp[0].lex_user);
}
#line 39662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2133:
#line 14045 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lex_user)=(LEX_USER*) YYTHD->alloc(sizeof(LEX_USER))))
MYSQL_YYABORT;
/*
empty LEX_USER means current_user and
will be handled in the get_current_user() function
later
*/
memset((yyval.lex_user), 0, sizeof(LEX_USER));
}
#line 39677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2134:
#line 14059 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[0].lexer.lex_str), NULL)))
MYSQL_YYABORT;
}
#line 39686 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2135:
#line 14064 "sql_yacc.yy" /* yacc.c:1646 */
{
if (!((yyval.lex_user)= LEX_USER::alloc(YYTHD, &(yyvsp[-2].lexer.lex_str), &(yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT;
}
#line 39695 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2136:
#line 14072 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str) = (yyvsp[0].lexer.lex_str);
if (check_and_convert_db_name(&(yyval.lexer.lex_str), false) != Ident_name_check::OK)
MYSQL_YYABORT;
}
#line 39705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2571:
#line 14609 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.set)= NEW_PTN PT_set((yylsp[-1]), (yyvsp[0].start_option_value_list));
}
#line 39713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2572:
#line 14618 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_no_type((yyvsp[-1].option_value_no_option_type), (yylsp[-1]), (yyvsp[0].option_value_list));
}
#line 39721 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2573:
#line 14622 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_transaction((yyvsp[0].transaction_characteristics), (yylsp[0]));
}
#line 39729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2574:
#line 14626 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list)= NEW_PTN PT_start_option_value_list_type((yyvsp[-1].var_type), (yyvsp[0].start_option_value_list_following_option_type));
}
#line 39737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2575:
#line 14630 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[-2].lexer.lex_str).str, (yyvsp[-1].lex_cstr).str,
(yyvsp[0].is_not_empty),
false,
(yylsp[-1]));
}
#line 39748 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2576:
#line 14637 "sql_yacc.yy" /* yacc.c:1646 */
{
// RANDOM PASSWORD GENERATION AND RETURN RESULT SET...
(yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password((yyvsp[-2].lexer.keyword).str, (yyvsp[-1].lex_cstr).str,
(yyvsp[0].is_not_empty),
true,
(yylsp[-1]));
}
#line 39760 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2577:
#line 14645 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-4].lex_user), (yyvsp[-2].lexer.lex_str).str,
(yyvsp[-1].lex_cstr).str,
(yyvsp[0].is_not_empty),
false,
(yylsp[-1]));
}
#line 39772 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2578:
#line 14653 "sql_yacc.yy" /* yacc.c:1646 */
{
// RANDOM PASSWORD GENERATION AND RETURN RESULT SET...
(yyval.start_option_value_list)= NEW_PTN PT_option_value_no_option_type_password_for((yyvsp[-4].lex_user), (yyvsp[-2].lexer.keyword).str,
(yyvsp[-1].lex_cstr).str,
(yyvsp[0].is_not_empty),
true,
(yylsp[-1]));
}
#line 39785 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2579:
#line 14665 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_role((yyvsp[0].user_list));
}
#line 39793 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2580:
#line 14669 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_NONE);
Lex->sql_command= SQLCOM_SET_ROLE;
}
#line 39802 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2581:
#line 14674 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_DEFAULT);
Lex->sql_command= SQLCOM_SET_ROLE;
}
#line 39811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2582:
#line 14679 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), (yyvsp[-2].user_list),
role_enum::ROLE_NAME);
}
#line 39820 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2583:
#line 14684 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), NULL,
role_enum::ROLE_NONE);
}
#line 39829 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2584:
#line 14689 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_alter_user_default_role(false, (yyvsp[0].user_list), NULL,
role_enum::ROLE_ALL);
}
#line 39838 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2585:
#line 14694 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_role(role_enum::ROLE_ALL, (yyvsp[0].user_list));
Lex->sql_command= SQLCOM_SET_ROLE;
}
#line 39847 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2586:
#line 14701 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.user_list)= NULL; }
#line 39853 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2587:
#line 14702 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.user_list)= (yyvsp[0].user_list); }
#line 39859 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2588:
#line 14707 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_resource_group(to_lex_cstring((yyvsp[0].lexer.lex_str)), nullptr);
}
#line 39867 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2589:
#line 14711 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_set_resource_group(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].thread_id_list_type));
}
#line 39875 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2590:
#line 14718 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.thread_id_list_type)= NEW_PTN Mem_root_array<ulonglong>(YYMEM_ROOT);
if ((yyval.thread_id_list_type) == nullptr || (yyval.thread_id_list_type)->push_back((yyvsp[0].ulong_num)))
MYSQL_YYABORT; // OOM
}
#line 39885 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2591:
#line 14724 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.thread_id_list_type)= (yyvsp[-2].thread_id_list_type);
if ((yyval.thread_id_list_type)->push_back((yyvsp[0].ulong_num)))
MYSQL_YYABORT; // OOM
}
#line 39895 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2592:
#line 14732 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.thread_id_list_type)= (yyvsp[0].thread_id_list_type); }
#line 39901 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2593:
#line 14738 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list_following_option_type)=
NEW_PTN PT_start_option_value_list_following_option_type_eq((yyvsp[-1].option_value_following_option_type),
(yylsp[-1]),
(yyvsp[0].option_value_list));
}
#line 39912 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2594:
#line 14745 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.start_option_value_list_following_option_type)= NEW_PTN
PT_start_option_value_list_following_option_type_transaction((yyvsp[0].transaction_characteristics),
(yylsp[0]));
}
#line 39922 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2595:
#line 14754 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.option_value_list)= NULL; }
#line 39928 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2596:
#line 14755 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.option_value_list)= (yyvsp[0].option_value_list); }
#line 39934 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2597:
#line 14761 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_list)= NEW_PTN PT_option_value_list_head((yylsp[-1]), (yyvsp[0].node), (yylsp[0]));
}
#line 39942 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2598:
#line 14765 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_list)= NEW_PTN PT_option_value_list((yyvsp[-2].option_value_list), (yylsp[-1]), (yyvsp[0].node), (yylsp[0]));
}
#line 39950 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2599:
#line 14773 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.node)= NEW_PTN PT_option_value_type((yyvsp[-1].var_type), (yyvsp[0].option_value_following_option_type));
}
#line 39958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2600:
#line 14776 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.node)= (yyvsp[0].option_value_no_option_type); }
#line 39964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2601:
#line 14780 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_GLOBAL; }
#line 39970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2602:
#line 14781 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_PERSIST; }
#line 39976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2603:
#line 14782 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_PERSIST_ONLY; }
#line 39982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2604:
#line 14783 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 39988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2605:
#line 14784 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 39994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2606:
#line 14788 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2607:
#line 14789 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_GLOBAL; }
#line 40006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2608:
#line 14790 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40012 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2609:
#line 14791 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40018 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2610:
#line 14795 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_DEFAULT; }
#line 40024 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2611:
#line 14796 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_GLOBAL; }
#line 40030 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2612:
#line 14797 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40036 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2613:
#line 14798 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40042 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2614:
#line 14802 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_DEFAULT; }
#line 40048 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2615:
#line 14803 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_PERSIST; }
#line 40054 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2616:
#line 14804 "sql_yacc.yy" /* yacc.c:1646 */
{(yyval.var_type)=OPT_PERSIST_ONLY; }
#line 40060 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2617:
#line 14805 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_GLOBAL; }
#line 40066 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2618:
#line 14806 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40072 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2619:
#line 14807 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.var_type)=OPT_SESSION; }
#line 40078 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2620:
#line 14813 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_following_option_type)= NEW_PTN PT_option_value_following_option_type((yyloc), (yyvsp[-2].internal_variable_name), (yyvsp[0].item));
}
#line 40086 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2621:
#line 14823 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_internal((yyvsp[-2].internal_variable_name), (yyvsp[0].item), (yylsp[0]));
}
#line 40094 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2622:
#line 14827 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_user_var((yyvsp[-2].lexer.lex_str), (yyvsp[0].item));
}
#line 40102 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2623:
#line 14832 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_sys_var((yyvsp[-3].var_type), (yyvsp[-2].internal_variable_name), (yyvsp[0].item));
}
#line 40110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2624:
#line 14836 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_charset((yyvsp[0].lexer.charset));
}
#line 40118 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2625:
#line 14840 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
Bad syntax, always fails with an error
*/
(yyval.option_value_no_option_type)= NEW_PTN PT_option_value_no_option_type_names((yylsp[-1]));
}
#line 40129 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2626:
#line 14847 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type)= NEW_PTN PT_set_names((yyvsp[-1].lexer.charset), (yyvsp[0].lexer.charset));
}
#line 40137 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2627:
#line 14851 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.option_value_no_option_type) = NEW_PTN PT_set_names(nullptr, nullptr);
}
#line 40145 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2628:
#line 14858 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_1d(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 40153 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2629:
#line 14862 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_2d((yyloc), to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 40161 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2630:
#line 14866 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.internal_variable_name)= NEW_PTN PT_internal_variable_name_default((yyvsp[0].lexer.lex_str));
}
#line 40169 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2631:
#line 14873 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].transaction_access_mode), (yyvsp[0].isolation_level));
}
#line 40177 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2632:
#line 14877 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.transaction_characteristics)= NEW_PTN PT_transaction_characteristics((yyvsp[-1].isolation_level), (yyvsp[0].transaction_access_mode));
}
#line 40185 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2633:
#line 14884 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.transaction_access_mode)= NEW_PTN PT_transaction_access_mode((yyvsp[0].num));
}
#line 40193 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2634:
#line 14890 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.transaction_access_mode)= NULL; }
#line 40199 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2635:
#line 14891 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.transaction_access_mode)= (yyvsp[0].transaction_access_mode); }
#line 40205 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2636:
#line 14896 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.isolation_level)= NEW_PTN PT_isolation_level((yyvsp[0].tx_isolation));
}
#line 40213 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2637:
#line 14902 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.isolation_level)= NULL; }
#line 40219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2638:
#line 14903 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.isolation_level)= (yyvsp[0].isolation_level); }
#line 40225 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2639:
#line 14907 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= true; }
#line 40231 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2640:
#line 14908 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= false; }
#line 40237 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2641:
#line 14912 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
#line 40243 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2642:
#line 14913 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.tx_isolation)= ISO_READ_COMMITTED; }
#line 40249 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2643:
#line 14914 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
#line 40255 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2644:
#line 14915 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.tx_isolation)= ISO_SERIALIZABLE; }
#line 40261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2646:
#line 14920 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.item)= NULL; }
#line 40267 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2647:
#line 14922 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_string((yyloc), "ON", 2, system_charset_info);
}
#line 40275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2648:
#line 14926 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_string((yyloc), "ALL", 3, system_charset_info);
}
#line 40283 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2649:
#line 14930 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_string((yyloc), "binary", 6, system_charset_info);
}
#line 40291 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2650:
#line 14934 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_string((yyloc), "ROW", 3, system_charset_info);
}
#line 40299 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2651:
#line 14938 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.item)= NEW_PTN Item_string((yyloc), "SYSTEM", 6, system_charset_info);
}
#line 40307 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2652:
#line 14947 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "LOCK");
MYSQL_YYABORT;
}
lex->sql_command= SQLCOM_LOCK_TABLES;
}
#line 40322 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2653:
#line 14958 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 40328 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2654:
#line 14960 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_LOCK_INSTANCE;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_lock_instance();
if (Lex->m_sql_cmd == nullptr)
MYSQL_YYABORT; // OOM
}
#line 40339 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2659:
#line 14980 "sql_yacc.yy" /* yacc.c:1646 */
{
thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
enum_mdl_type mdl_lock_type;
if (lock_type >= TL_WRITE_ALLOW_WRITE)
{
/* LOCK TABLE ... WRITE/LOW_PRIORITY WRITE */
mdl_lock_type= MDL_SHARED_NO_READ_WRITE;
}
else if (lock_type == TL_READ)
{
/* LOCK TABLE ... READ LOCAL */
mdl_lock_type= MDL_SHARED_READ;
}
else
{
/* LOCK TABLE ... READ */
mdl_lock_type= MDL_SHARED_READ_ONLY;
}
if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), (yyvsp[-1].lex_cstr).str, 0, lock_type,
mdl_lock_type))
MYSQL_YYABORT;
}
#line 40368 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2660:
#line 15007 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_READ_NO_INSERT; }
#line 40374 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2661:
#line 15008 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_WRITE_DEFAULT; }
#line 40380 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2662:
#line 15010 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.num)= TL_WRITE_LOW_PRIORITY;
push_deprecated_warn(YYTHD, "LOW_PRIORITY WRITE", "WRITE");
}
#line 40389 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2663:
#line 15014 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= TL_READ; }
#line 40395 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2664:
#line 15019 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_BADSTATEMENT, MYF(0), "UNLOCK");
MYSQL_YYABORT;
}
lex->sql_command= SQLCOM_UNLOCK_TABLES;
}
#line 40410 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2665:
#line 15030 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 40416 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2666:
#line 15032 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_UNLOCK_INSTANCE;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_unlock_instance();
if (Lex->m_sql_cmd == nullptr)
MYSQL_YYABORT; // OOM
}
#line 40427 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2667:
#line 15043 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_SHUTDOWN;
(yyval.top_level_node)= NEW_PTN PT_shutdown();
}
#line 40436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2668:
#line 15051 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_restart_server();
}
#line 40444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2669:
#line 15058 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_ALTER_INSTANCE;
(yyval.top_level_node)= NEW_PTN PT_alter_instance((yyvsp[0].alter_instance_action));
}
#line 40453 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2670:
#line 15065 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[-2].lexer.lex_str), "INNODB"))
{
(yyval.alter_instance_action)= ROTATE_INNODB_MASTER_KEY;
}
else if (is_identifier((yyvsp[-2].lexer.lex_str), "BINLOG"))
{
(yyval.alter_instance_action)= ROTATE_BINLOG_MASTER_KEY;
}
else
{
YYTHD->syntax_error_at((yylsp[-2]));
MYSQL_YYABORT;
}
}
#line 40473 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2671:
#line 15081 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[0].lexer.lex_str), "TLS"))
{
(yyval.alter_instance_action) = ALTER_INSTANCE_RELOAD_TLS_ROLLBACK_ON_ERROR;
}
else
{
YYTHD->syntax_error_at((yylsp[0]));
MYSQL_YYABORT;
}
}
#line 40489 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2672:
#line 15093 "sql_yacc.yy" /* yacc.c:1646 */
{
if (is_identifier((yyvsp[-4].lexer.lex_str), "TLS"))
{
(yyval.alter_instance_action) = ALTER_INSTANCE_RELOAD_TLS;
}
else
{
YYTHD->syntax_error_at((yylsp[-4]));
MYSQL_YYABORT;
}
}
#line 40505 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2673:
#line 15112 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_handler_open((yyvsp[-2].table), (yyvsp[0].lex_cstr));
}
#line 40513 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2674:
#line 15116 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_handler_close(to_lex_cstring((yyvsp[-1].lexer.lex_str)));
}
#line 40521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2675:
#line 15125 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_handler_table_scan(to_lex_cstring((yyvsp[-4].lexer.lex_str)), (yyvsp[-2].ha_read_mode), (yyvsp[-1].item), (yyvsp[0].limit_clause));
}
#line 40529 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2676:
#line 15135 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_handler_index_scan(to_lex_cstring((yyvsp[-5].lexer.lex_str)),
to_lex_cstring((yyvsp[-3].lexer.lex_str)), (yyvsp[-2].ha_read_mode), (yyvsp[-1].item), (yyvsp[0].limit_clause));
}
#line 40538 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2677:
#line 15147 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.top_level_node)= NEW_PTN PT_handler_index_range_scan(to_lex_cstring((yyvsp[-8].lexer.lex_str)),
to_lex_cstring((yyvsp[-6].lexer.lex_str)),
(yyvsp[-5].ha_rkey_mode), (yyvsp[-3].item_list2), (yyvsp[-1].item), (yyvsp[0].limit_clause));
}
#line 40548 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2678:
#line 15155 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RFIRST; }
#line 40554 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2679:
#line 15156 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RNEXT; }
#line 40560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2680:
#line 15160 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RFIRST; }
#line 40566 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2681:
#line 15161 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RNEXT; }
#line 40572 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2682:
#line 15162 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RPREV; }
#line 40578 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2683:
#line 15163 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_read_mode)= enum_ha_read_modes::RLAST; }
#line 40584 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2684:
#line 15167 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; }
#line 40590 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2685:
#line 15168 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
#line 40596 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2686:
#line 15169 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
#line 40602 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2687:
#line 15170 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; }
#line 40608 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2688:
#line 15171 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; }
#line 40614 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2689:
#line 15178 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *tmp= NEW_PTN PT_revoke_roles((yyvsp[-2].role_or_privilege_list), (yyvsp[0].user_list));
MAKE_CMD(tmp);
}
#line 40623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2690:
#line 15183 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
if (apply_privileges(YYTHD, *(yyvsp[-5].role_or_privilege_list)))
MYSQL_YYABORT;
lex->sql_command= (lex->grant == GLOBAL_ACLS) ? SQLCOM_REVOKE_ALL
: SQLCOM_REVOKE;
if ((yyvsp[-3].acl_type) != Acl_type::TABLE && !lex->columns.is_empty())
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
lex->type= static_cast<ulong>((yyvsp[-3].acl_type));
lex->users_list= *(yyvsp[0].user_list);
}
#line 40642 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2691:
#line 15198 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->all_privileges= 1;
Lex->grant= GLOBAL_ACLS;
}
#line 40651 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2692:
#line 15203 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= (lex->grant == (GLOBAL_ACLS & ~GRANT_ACL)) ?
SQLCOM_REVOKE_ALL
: SQLCOM_REVOKE;
if ((yyvsp[-3].acl_type) != Acl_type::TABLE && !lex->columns.is_empty())
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
lex->type= static_cast<ulong>((yyvsp[-3].acl_type));
lex->users_list= *(yyvsp[0].user_list);
}
#line 40669 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2693:
#line 15217 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_REVOKE_ALL;
Lex->users_list= *(yyvsp[0].user_list);
}
#line 40678 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2694:
#line 15222 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_REVOKE;
lex->users_list= *(yyvsp[0].user_list);
lex->users_list.push_front ((yyvsp[-2].lex_user));
lex->type= TYPE_ENUM_PROXY;
}
#line 40690 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2695:
#line 15233 "sql_yacc.yy" /* yacc.c:1646 */
{
auto *tmp= NEW_PTN PT_grant_roles((yyvsp[-3].role_or_privilege_list), (yyvsp[-1].user_list), (yyvsp[0].is_not_empty));
MAKE_CMD(tmp);
}
#line 40699 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2696:
#line 15239 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_GRANT;
if (apply_privileges(YYTHD, *(yyvsp[-7].role_or_privilege_list)))
MYSQL_YYABORT;
if ((yyvsp[-5].acl_type) != Acl_type::TABLE && !lex->columns.is_empty())
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
lex->type= static_cast<ulong>((yyvsp[-5].acl_type));
lex->users_list= *(yyvsp[-2].user_list);
}
#line 40718 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2697:
#line 15254 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->all_privileges= 1;
Lex->grant= GLOBAL_ACLS;
}
#line 40727 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2698:
#line 15259 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_GRANT;
if ((yyvsp[-5].acl_type) != Acl_type::TABLE && !lex->columns.is_empty())
{
YYTHD->syntax_error();
MYSQL_YYABORT;
}
lex->type= static_cast<ulong>((yyvsp[-5].acl_type));
lex->users_list= *(yyvsp[-2].user_list);
}
#line 40743 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2699:
#line 15271 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_GRANT;
if ((yyvsp[0].is_not_empty))
lex->grant |= GRANT_ACL;
lex->users_list= *(yyvsp[-1].user_list);
lex->users_list.push_front ((yyvsp[-3].lex_user));
lex->type= TYPE_ENUM_PROXY;
}
#line 40757 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2700:
#line 15283 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.acl_type)= Acl_type::TABLE; }
#line 40763 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2701:
#line 15284 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.acl_type)= Acl_type::TABLE; }
#line 40769 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2702:
#line 15285 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.acl_type)= Acl_type::FUNCTION; }
#line 40775 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2703:
#line 15286 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.acl_type)= Acl_type::PROCEDURE; }
#line 40781 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2706:
#line 15296 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.role_or_privilege_list)= NEW_PTN Mem_root_array<PT_role_or_privilege *>(YYMEM_ROOT);
if ((yyval.role_or_privilege_list) == NULL || (yyval.role_or_privilege_list)->push_back((yyvsp[0].role_or_privilege)))
MYSQL_YYABORT; // OOM
}
#line 40791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2707:
#line 15302 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.role_or_privilege_list)= (yyvsp[-2].role_or_privilege_list);
if ((yyval.role_or_privilege_list)->push_back((yyvsp[0].role_or_privilege)))
MYSQL_YYABORT; // OOM
}
#line 40801 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2708:
#line 15311 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].lex_cstring_list) == NULL)
(yyval.role_or_privilege)= NEW_PTN PT_role_or_dynamic_privilege((yylsp[-1]), (yyvsp[-1].lexer.lex_str));
else
(yyval.role_or_privilege)= NEW_PTN PT_dynamic_privilege((yylsp[-1]), (yyvsp[-1].lexer.lex_str));
}
#line 40812 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2709:
#line 15318 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_role_at_host((yylsp[-2]), (yyvsp[-2].lexer.lex_str), (yyvsp[0].lexer.lex_str)); }
#line 40818 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2710:
#line 15320 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SELECT_ACL, (yyvsp[0].lex_cstring_list)); }
#line 40824 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2711:
#line 15322 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), INSERT_ACL, (yyvsp[0].lex_cstring_list)); }
#line 40830 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2712:
#line 15324 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), UPDATE_ACL, (yyvsp[0].lex_cstring_list)); }
#line 40836 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2713:
#line 15326 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REFERENCES_ACL, (yyvsp[0].lex_cstring_list)); }
#line 40842 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2714:
#line 15328 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), DELETE_ACL); }
#line 40848 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2715:
#line 15330 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), 0); }
#line 40854 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2716:
#line 15332 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), INDEX_ACL); }
#line 40860 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2717:
#line 15334 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), ALTER_ACL); }
#line 40866 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2718:
#line 15336 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), CREATE_ACL); }
#line 40872 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2719:
#line 15338 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), DROP_ACL); }
#line 40878 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2720:
#line 15340 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), EXECUTE_ACL); }
#line 40884 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2721:
#line 15342 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), RELOAD_ACL); }
#line 40890 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2722:
#line 15344 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), SHUTDOWN_ACL); }
#line 40896 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2723:
#line 15346 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), PROCESS_ACL); }
#line 40902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2724:
#line 15348 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), FILE_ACL); }
#line 40908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2725:
#line 15350 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), GRANT_ACL);
Lex->grant_privilege= true;
}
#line 40917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2726:
#line 15355 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SHOW_DB_ACL); }
#line 40923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2727:
#line 15357 "sql_yacc.yy" /* yacc.c:1646 */
{
/* DEPRECATED */
(yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), SUPER_ACL);
if (Lex->grant != GLOBAL_ACLS)
{
/*
An explicit request was made for the SUPER priv id
*/
push_warning(Lex->thd, Sql_condition::SL_WARNING,
ER_WARN_DEPRECATED_SYNTAX,
"The SUPER privilege identifier is deprecated");
}
}
#line 40941 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2728:
#line 15371 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-2]), CREATE_TMP_ACL); }
#line 40947 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2729:
#line 15373 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), LOCK_TABLES_ACL); }
#line 40953 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2730:
#line 15375 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REPL_SLAVE_ACL); }
#line 40959 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2731:
#line 15377 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), REPL_CLIENT_ACL); }
#line 40965 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2732:
#line 15379 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_VIEW_ACL); }
#line 40971 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2733:
#line 15381 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), SHOW_VIEW_ACL); }
#line 40977 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2734:
#line 15383 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_PROC_ACL); }
#line 40983 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2735:
#line 15385 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), ALTER_PROC_ACL); }
#line 40989 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2736:
#line 15387 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_USER_ACL); }
#line 40995 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2737:
#line 15389 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), EVENT_ACL); }
#line 41001 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2738:
#line 15391 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[0]), TRIGGER_ACL); }
#line 41007 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2739:
#line 15393 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_TABLESPACE_ACL); }
#line 41013 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2740:
#line 15395 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), CREATE_ROLE_ACL); }
#line 41019 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2741:
#line 15397 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.role_or_privilege)= NEW_PTN PT_static_privilege((yylsp[-1]), DROP_ROLE_ACL); }
#line 41025 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2742:
#line 15401 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 41031 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2743:
#line 15402 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 41037 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2748:
#line 15417 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->x509_subject)
{
my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT");
MYSQL_YYABORT;
}
lex->x509_subject=(yyvsp[0].lexer.lex_str).str;
}
#line 41051 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2749:
#line 15427 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->x509_issuer)
{
my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER");
MYSQL_YYABORT;
}
lex->x509_issuer=(yyvsp[0].lexer.lex_str).str;
}
#line 41065 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2750:
#line 15437 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
if (lex->ssl_cipher)
{
my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER");
MYSQL_YYABORT;
}
lex->ssl_cipher=(yyvsp[0].lexer.lex_str).str;
}
#line 41079 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2751:
#line 15450 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
size_t dummy;
if (lex->copy_db_to(&lex->current_select()->db, &dummy))
MYSQL_YYABORT;
if (lex->grant == GLOBAL_ACLS)
lex->grant = DB_OP_ACLS;
else if (lex->columns.elements)
{
my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0));
MYSQL_YYABORT;
}
}
#line 41097 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2752:
#line 15464 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->current_select()->db = (yyvsp[-2].lexer.lex_str).str;
if (lex->grant == GLOBAL_ACLS)
lex->grant = DB_OP_ACLS;
else if (lex->columns.elements)
{
my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0));
MYSQL_YYABORT;
}
}
#line 41113 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2753:
#line 15476 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->current_select()->db = NULL;
if (lex->grant == GLOBAL_ACLS)
lex->grant= GLOBAL_ACLS & ~GRANT_ACL;
else if (lex->columns.elements)
{
my_error(ER_ILLEGAL_GRANT_FOR_TABLE, MYF(0));
MYSQL_YYABORT;
}
}
#line 41129 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2754:
#line 15488 "sql_yacc.yy" /* yacc.c:1646 */
{
auto tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str)));
if (tmp == NULL)
MYSQL_YYABORT;
LEX *lex=Lex;
if (!lex->current_select()->add_table_to_list(lex->thd, tmp, NULL,
TL_OPTION_UPDATING))
MYSQL_YYABORT;
if (lex->grant == GLOBAL_ACLS)
lex->grant = TABLE_OP_ACLS;
}
#line 41145 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2755:
#line 15500 "sql_yacc.yy" /* yacc.c:1646 */
{
Table_ident *tmp;
if (YYTHD->get_protocol()->has_client_capability(CLIENT_NO_SCHEMA))
tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[0].lexer.lex_str)));
else {
tmp = NEW_PTN Table_ident(to_lex_cstring((yyvsp[-2].lexer.lex_str)), to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
if (tmp == NULL)
MYSQL_YYABORT;
LEX *lex=Lex;
if (!lex->current_select()->add_table_to_list(lex->thd, tmp, NULL,
TL_OPTION_UPDATING))
MYSQL_YYABORT;
if (lex->grant == GLOBAL_ACLS)
lex->grant = TABLE_OP_ACLS;
}
#line 41166 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2756:
#line 15520 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= new (YYMEM_ROOT) List<LEX_USER>;
if ((yyval.user_list) == NULL || (yyval.user_list)->push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41176 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2757:
#line 15526 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= (yyvsp[-2].user_list);
if ((yyval.user_list)->push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41186 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2758:
#line 15535 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= new (YYMEM_ROOT) List<LEX_USER>;
if ((yyval.user_list) == NULL || (yyval.user_list)->push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41196 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2759:
#line 15541 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.user_list)= (yyvsp[-2].user_list);
if ((yyval.user_list)->push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41206 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2760:
#line 15549 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 41212 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2761:
#line 15550 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 41218 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2762:
#line 15554 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 41224 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2763:
#line 15555 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 41230 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2764:
#line 15559 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)=(yyvsp[-3].lex_user);
(yyvsp[-3].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str;
(yyvsp[-3].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length;
(yyvsp[-3].lex_user)->has_password_generator= false;
(yyvsp[-3].lex_user)->uses_identified_by_clause= true;
(yyvsp[-3].lex_user)->discard_old_password= false;
(yyvsp[-3].lex_user)->retain_current_password= false;
Lex->contains_plaintext_password= true;
}
#line 41245 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2765:
#line 15570 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-4].lex_user);
(yyvsp[-4].lex_user)->has_password_generator= true;
(yyvsp[-4].lex_user)->auth= EMPTY_CSTR;
(yyvsp[-4].lex_user)->uses_identified_by_clause= true;
(yyvsp[-4].lex_user)->uses_identified_with_clause= false;
(yyvsp[-4].lex_user)->discard_old_password= false;
(yyvsp[-4].lex_user)->retain_current_password= false;
Lex->contains_plaintext_password= true;
}
#line 41260 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2766:
#line 15581 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-3].lex_user);
(yyvsp[-3].lex_user)->plugin.str= (yyvsp[0].lexer.lex_str).str;
(yyvsp[-3].lex_user)->plugin.length= (yyvsp[0].lexer.lex_str).length;
(yyvsp[-3].lex_user)->auth= EMPTY_CSTR;
(yyvsp[-3].lex_user)->uses_identified_with_clause= true;
(yyvsp[-3].lex_user)->discard_old_password= false;
(yyvsp[-3].lex_user)->retain_current_password= false;
(yyvsp[-3].lex_user)->has_password_generator= false;
}
#line 41275 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2767:
#line 15592 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-5].lex_user);
(yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lexer.lex_str).str;
(yyvsp[-5].lex_user)->plugin.length= (yyvsp[-2].lexer.lex_str).length;
(yyvsp[-5].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str;
(yyvsp[-5].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length;
(yyvsp[-5].lex_user)->uses_identified_with_clause= true;
(yyvsp[-5].lex_user)->uses_authentication_string_clause= true;
(yyvsp[-5].lex_user)->discard_old_password= false;
(yyvsp[-5].lex_user)->retain_current_password= false;
(yyvsp[-5].lex_user)->has_password_generator= false;
}
#line 41292 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2768:
#line 15605 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-5].lex_user);
(yyvsp[-5].lex_user)->plugin.str= (yyvsp[-2].lexer.lex_str).str;
(yyvsp[-5].lex_user)->plugin.length= (yyvsp[-2].lexer.lex_str).length;
(yyvsp[-5].lex_user)->auth.str= (yyvsp[0].lexer.lex_str).str;
(yyvsp[-5].lex_user)->auth.length= (yyvsp[0].lexer.lex_str).length;
(yyvsp[-5].lex_user)->uses_identified_with_clause= true;
(yyvsp[-5].lex_user)->uses_identified_by_clause= true;
(yyvsp[-5].lex_user)->discard_old_password= false;
(yyvsp[-5].lex_user)->retain_current_password= false;
Lex->contains_plaintext_password= true;
(yyvsp[-5].lex_user)->has_password_generator= false;
}
#line 41310 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2769:
#line 15619 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-6].lex_user);
(yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str;
(yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_identified_with_clause= true;
(yyvsp[-6].lex_user)->uses_identified_by_clause= true;
(yyvsp[-6].lex_user)->discard_old_password= false;
(yyvsp[-6].lex_user)->retain_current_password= false;
Lex->contains_plaintext_password= true;
(yyvsp[-6].lex_user)->has_password_generator= true;
}
#line 41326 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2770:
#line 15631 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[0].lex_user);
(yyvsp[0].lex_user)->auth= NULL_CSTR;
(yyvsp[0].lex_user)->discard_old_password= false;
(yyvsp[0].lex_user)->retain_current_password= false;
(yyvsp[0].lex_user)->has_password_generator= false;
}
#line 41338 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2771:
#line 15642 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)=(yyvsp[-6].lex_user);
(yyvsp[-6].lex_user)->has_password_generator= false;
(yyvsp[-6].lex_user)->auth.str= (yyvsp[-3].lexer.lex_str).str;
(yyvsp[-6].lex_user)->auth.length= (yyvsp[-3].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_identified_by_clause= true;
(yyvsp[-6].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-6].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_replace_clause= true;
(yyvsp[-6].lex_user)->discard_old_password= false;
(yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
}
#line 41356 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2772:
#line 15657 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-8].lex_user);
(yyvsp[-8].lex_user)->has_password_generator= false;
(yyvsp[-8].lex_user)->plugin.str= (yyvsp[-5].lexer.lex_str).str;
(yyvsp[-8].lex_user)->plugin.length= (yyvsp[-5].lexer.lex_str).length;
(yyvsp[-8].lex_user)->auth.str= (yyvsp[-3].lexer.lex_str).str;
(yyvsp[-8].lex_user)->auth.length= (yyvsp[-3].lexer.lex_str).length;
(yyvsp[-8].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-8].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-8].lex_user)->uses_replace_clause= true;
(yyvsp[-8].lex_user)->uses_identified_with_clause= true;
(yyvsp[-8].lex_user)->uses_identified_by_clause= true;
(yyvsp[-8].lex_user)->discard_old_password= false;
(yyvsp[-8].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
}
#line 41377 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2773:
#line 15674 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)=(yyvsp[-4].lex_user);
(yyvsp[-4].lex_user)->has_password_generator= false;
(yyvsp[-4].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-4].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-4].lex_user)->uses_identified_by_clause= true;
(yyvsp[-4].lex_user)->discard_old_password= false;
(yyvsp[-4].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
}
#line 41392 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2774:
#line 15685 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-5].lex_user);
(yyvsp[-5].lex_user)->has_password_generator= true;
(yyvsp[-5].lex_user)->auth= EMPTY_CSTR;
(yyvsp[-5].lex_user)->uses_identified_by_clause= true;
(yyvsp[-5].lex_user)->uses_identified_with_clause= false;
(yyvsp[-5].lex_user)->discard_old_password= false;
(yyvsp[-5].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
}
#line 41407 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2775:
#line 15696 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-7].lex_user);
(yyvsp[-7].lex_user)->has_password_generator= true;
(yyvsp[-7].lex_user)->auth= EMPTY_CSTR;
(yyvsp[-7].lex_user)->uses_identified_by_clause= true;
(yyvsp[-7].lex_user)->uses_identified_with_clause= false;
(yyvsp[-7].lex_user)->uses_replace_clause= true;
(yyvsp[-7].lex_user)->discard_old_password= false;
(yyvsp[-7].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
(yyvsp[-7].lex_user)->current_auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-7].lex_user)->current_auth.length= (yyvsp[-1].lexer.lex_str).length;
Lex->contains_plaintext_password= true;
}
#line 41425 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2776:
#line 15710 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-3].lex_user);
(yyvsp[-3].lex_user)->plugin.str= (yyvsp[0].lexer.lex_str).str;
(yyvsp[-3].lex_user)->plugin.length= (yyvsp[0].lexer.lex_str).length;
(yyvsp[-3].lex_user)->auth= EMPTY_CSTR;
(yyvsp[-3].lex_user)->uses_identified_with_clause= true;
(yyvsp[-3].lex_user)->discard_old_password= false;
(yyvsp[-3].lex_user)->retain_current_password= false;
(yyvsp[-3].lex_user)->has_password_generator= false;
}
#line 41440 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2777:
#line 15722 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-6].lex_user);
(yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str;
(yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length;
(yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_identified_with_clause= true;
(yyvsp[-6].lex_user)->uses_authentication_string_clause= true;
(yyvsp[-6].lex_user)->discard_old_password= false;
(yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
(yyvsp[-6].lex_user)->has_password_generator= false;
}
#line 41457 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2778:
#line 15736 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-6].lex_user);
(yyvsp[-6].lex_user)->plugin.str= (yyvsp[-3].lexer.lex_str).str;
(yyvsp[-6].lex_user)->plugin.length= (yyvsp[-3].lexer.lex_str).length;
(yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_identified_with_clause= true;
(yyvsp[-6].lex_user)->uses_identified_by_clause= true;
(yyvsp[-6].lex_user)->discard_old_password= false;
(yyvsp[-6].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
(yyvsp[-6].lex_user)->has_password_generator= false;
}
#line 41475 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2779:
#line 15751 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-7].lex_user);
(yyvsp[-7].lex_user)->plugin.str= (yyvsp[-4].lexer.lex_str).str;
(yyvsp[-7].lex_user)->plugin.length= (yyvsp[-4].lexer.lex_str).length;
(yyvsp[-7].lex_user)->uses_identified_with_clause= true;
(yyvsp[-7].lex_user)->uses_identified_by_clause= true;
(yyvsp[-7].lex_user)->discard_old_password= false;
(yyvsp[-7].lex_user)->retain_current_password= (yyvsp[0].is_not_empty);
Lex->contains_plaintext_password= true;
(yyvsp[-7].lex_user)->has_password_generator= true;
}
#line 41491 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2780:
#line 15763 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_user)= (yyvsp[-1].lex_user);
(yyvsp[-1].lex_user)->discard_old_password= (yyvsp[0].is_not_empty);
(yyvsp[-1].lex_user)->retain_current_password= false;
(yyvsp[-1].lex_user)->auth= NULL_CSTR;
(yyvsp[-1].lex_user)->has_password_generator= false;
}
#line 41503 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2781:
#line 15774 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41512 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2782:
#line 15779 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41521 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2783:
#line 15787 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41530 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2784:
#line 15792 "sql_yacc.yy" /* yacc.c:1646 */
{
if (Lex->users_list.push_back((yyvsp[0].lex_user)))
MYSQL_YYABORT;
}
#line 41539 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2785:
#line 15799 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstring_list)= NULL; }
#line 41545 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2786:
#line 15800 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.lex_cstring_list)= (yyvsp[-1].lex_cstring_list); }
#line 41551 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2787:
#line 15805 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_cstring_list)= NEW_PTN Mem_root_array<LEX_CSTRING>(YYMEM_ROOT);
if ((yyval.lex_cstring_list) == NULL || (yyval.lex_cstring_list)->push_back(to_lex_cstring((yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT; // OOM
}
#line 41561 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2788:
#line 15811 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_cstring_list)= (yyvsp[-2].lex_cstring_list);
if ((yyval.lex_cstring_list)->push_back(to_lex_cstring((yyvsp[0].lexer.lex_str))))
MYSQL_YYABORT; // OOM
}
#line 41571 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2790:
#line 15821 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_SPECIFIED;
}
#line 41579 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2791:
#line 15825 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_ANY;
}
#line 41587 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2792:
#line 15829 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_X509;
}
#line 41595 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2793:
#line 15833 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type=SSL_TYPE_NONE;
}
#line 41603 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2794:
#line 15839 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41609 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2795:
#line 15841 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant |= GRANT_ACL;}
#line 41615 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2796:
#line 15845 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 41621 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2797:
#line 15846 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 41627 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2798:
#line 15850 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant_as.role_type = role_enum::ROLE_NONE; }
#line 41633 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2799:
#line 15852 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant_as.role_type = role_enum::ROLE_NAME;
Lex->grant_as.role_list = (yyvsp[0].user_list);
}
#line 41641 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2800:
#line 15856 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->grant_as.role_type = role_enum::ROLE_ALL;
Lex->grant_as.role_list = (yyvsp[0].user_list);
}
#line 41650 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2801:
#line 15861 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant_as.role_type = role_enum::ROLE_NONE; }
#line 41656 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2802:
#line 15863 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant_as.role_type = role_enum::ROLE_DEFAULT; }
#line 41662 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2803:
#line 15867 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->grant_as.grant_as_used = false; }
#line 41668 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2804:
#line 15869 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->grant_as.grant_as_used = true;
Lex->grant_as.user = (yyvsp[-1].lex_user);
}
#line 41677 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2805:
#line 15876 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command = SQLCOM_BEGIN;
lex->start_transaction_opt= 0;
}
#line 41687 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2806:
#line 15881 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2807:
#line 15885 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41699 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2808:
#line 15886 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41705 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2809:
#line 15891 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
#line 41711 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2810:
#line 15892 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_NO; }
#line 41717 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2811:
#line 15893 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_YES; }
#line 41723 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2812:
#line 15898 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
#line 41729 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2813:
#line 15899 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_YES; }
#line 41735 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2814:
#line 15900 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.m_yes_no_unk)= TVL_NO; }
#line 41741 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2815:
#line 15904 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41747 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2816:
#line 15905 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41753 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2817:
#line 15910 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_COMMIT;
/* Don't allow AND CHAIN RELEASE. */
MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
lex->tx_release= (yyvsp[0].m_yes_no_unk);
}
#line 41766 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2818:
#line 15922 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ROLLBACK;
/* Don't allow AND CHAIN RELEASE. */
MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
lex->tx_release= (yyvsp[0].m_yes_no_unk);
}
#line 41779 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2819:
#line 15932 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
lex->ident= (yyvsp[0].lexer.lex_str);
}
#line 41789 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2820:
#line 15941 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_SAVEPOINT;
lex->ident= (yyvsp[0].lexer.lex_str);
}
#line 41799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2821:
#line 15950 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
lex->ident= (yyvsp[0].lexer.lex_str);
}
#line 41809 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2822:
#line 15963 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=1; }
#line 41815 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2823:
#line 15964 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=1; }
#line 41821 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2824:
#line 15965 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)=0; }
#line 41827 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2827:
#line 15978 "sql_yacc.yy" /* yacc.c:1646 */
{
if ((yyvsp[0].query_expression) == NULL)
MYSQL_YYABORT; // OOM
if ((yyvsp[0].query_expression)->has_into_clause())
YYTHD->syntax_error_at((yylsp[0]));
(yyval.subquery)= NEW_PTN PT_subquery((yyloc), (yyvsp[0].query_expression));
}
#line 41841 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2828:
#line 15990 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_STRAIGHT_JOIN; }
#line 41847 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2829:
#line 15991 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_HIGH_PRIORITY; }
#line 41853 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2830:
#line 15992 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_DISTINCT; }
#line 41859 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2831:
#line 15993 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_SMALL_RESULT; }
#line 41865 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2832:
#line 15994 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_BIG_RESULT; }
#line 41871 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2833:
#line 15995 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= OPTION_BUFFER_RESULT; }
#line 41877 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2834:
#line 15996 "sql_yacc.yy" /* yacc.c:1646 */
{
push_warning(YYTHD, Sql_condition::SL_WARNING,
ER_WARN_DEPRECATED_SYNTAX,
ER_THD(YYTHD, ER_WARN_DEPRECATED_SQL_CALC_FOUND_ROWS));
(yyval.ulonglong_number)= OPTION_FOUND_ROWS;
}
#line 41888 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2835:
#line 16002 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.ulonglong_number)= SELECT_ALL; }
#line 41894 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2836:
#line 16013 "sql_yacc.yy" /* yacc.c:1646 */
{
// Initialize context for 'CREATE view_or_trigger_or_sp_or_event'
Lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (Lex->create_info == NULL)
MYSQL_YYABORT; // OOM
}
#line 41905 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2837:
#line 16023 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41911 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2838:
#line 16025 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2839:
#line 16027 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41923 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2853:
#line 16060 "sql_yacc.yy" /* yacc.c:1646 */
{
/*
We have to distinguish missing DEFINER-clause from case when
CURRENT_USER specified as definer explicitly in order to properly
handle CREATE TRIGGER statements which come to replication thread
from older master servers (i.e. to create non-suid trigger in this
case).
*/
YYTHD->lex->definer= 0;
}
#line 41938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2854:
#line 16074 "sql_yacc.yy" /* yacc.c:1646 */
{
YYTHD->lex->definer= get_current_user(YYTHD, (yyvsp[0].lex_user));
}
#line 41946 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2855:
#line 16087 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41952 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2856:
#line 16089 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41958 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2857:
#line 16091 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 41964 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2858:
#line 16096 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_mode= enum_view_create_mode::VIEW_CREATE_OR_REPLACE; }
#line 41970 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2859:
#line 16101 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; }
#line 41976 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2860:
#line 16103 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
#line 41982 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2861:
#line 16105 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_algorithm= VIEW_ALGORITHM_TEMPTABLE; }
#line 41988 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2862:
#line 16110 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_DEFAULT; }
#line 41994 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2863:
#line 16112 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_DEFINER; }
#line 42000 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2864:
#line 16114 "sql_yacc.yy" /* yacc.c:1646 */
{ Lex->create_view_suid= VIEW_SUID_INVOKER; }
#line 42006 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2865:
#line 16119 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sql_command= SQLCOM_CREATE_VIEW;
/* first table in list is target VIEW name */
if (!lex->select_lex->add_table_to_list(thd, (yyvsp[-1].table), NULL,
TL_OPTION_UPDATING,
TL_IGNORE,
MDL_EXCLUSIVE))
MYSQL_YYABORT;
lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
thd->parsing_system_view= lex->query_tables->is_system_view;
if ((yyvsp[0].simple_ident_list).size())
{
for (auto column_alias : (yyvsp[0].simple_ident_list))
{
// Report error if the column name/length is incorrect.
if (check_column_name(column_alias.str))
{
my_error(ER_WRONG_COLUMN_NAME, MYF(0), column_alias.str);
MYSQL_YYABORT;
}
}
/*
The $4 object is short-lived (its 'm_array' is not);
so we have to duplicate it, and then we can store a
pointer.
*/
void *rawmem= thd->memdup(&((yyvsp[0].simple_ident_list)), sizeof((yyvsp[0].simple_ident_list)));
if (!rawmem)
MYSQL_YYABORT; /* purecov: inspected */
lex->query_tables->
set_derived_column_names(static_cast<Create_col_name_list* >(rawmem));
}
}
#line 42046 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2867:
#line 16159 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= Lex;
lex->parsing_options.allows_variable= false;
lex->parsing_options.allows_select_into= false;
/*
In CREATE VIEW v ... the table_list initially contains
here a table entry for the destination "table" `v'.
Backup it and clean the table list for the processing of
the query expression and push `v' back to the beginning of the
table_list finally.
@todo: Don't save the CREATE destination table in
SELECT_LEX::table_list and remove this backup & restore.
The following work only with the local list, the global list
is created correctly in this case
*/
SQL_I_List<TABLE_LIST> save_list;
SELECT_LEX * const save_select= Select;
save_select->table_list.save_and_clear(&save_list);
CONTEXTUALIZE((yyvsp[-1].query_expression));
/*
The following work only with the local list, the global list
is created correctly in this case
*/
save_select->table_list.push_front(&save_list);
Lex->create_view_check= (yyvsp[0].num);
/*
It's simpler to use @$ to grab the whole rule text, OTOH it's
also simple to lose something that way when changing this rule,
so let use explicit @1 and @2 to memdup this view definition:
*/
const size_t len= (yylsp[0]).cpp.end - (yylsp[-1]).cpp.start;
lex->create_view_select.str=
static_cast<char *>(thd->memdup((yylsp[-1]).cpp.start, len));
lex->create_view_select.length= len;
trim_whitespace(thd->charset(), &lex->create_view_select);
lex->parsing_options.allows_variable= true;
lex->parsing_options.allows_select_into= true;
}
#line 42098 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2868:
#line 16209 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= VIEW_CHECK_NONE; }
#line 42104 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2869:
#line 16210 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= VIEW_CHECK_CASCADED; }
#line 42110 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2870:
#line 16211 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= VIEW_CHECK_CASCADED; }
#line 42116 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2871:
#line 16212 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= VIEW_CHECK_LOCAL; }
#line 42122 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2872:
#line 16223 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.trigger_action_order_type)= TRG_ORDER_FOLLOWS; }
#line 42128 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2873:
#line 16225 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.trigger_action_order_type)= TRG_ORDER_PRECEDES; }
#line 42134 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2874:
#line 16230 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.trg_characteristics).ordering_clause= TRG_ORDER_NONE;
(yyval.trg_characteristics).anchor_trigger_name= NULL_CSTR;
}
#line 42143 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2875:
#line 16236 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.trg_characteristics).ordering_clause= (yyvsp[-1].trigger_action_order_type);
(yyval.trg_characteristics).anchor_trigger_name= { (yyvsp[0].lexer.lex_str).str, (yyvsp[0].lexer.lex_str).length };
}
#line 42152 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2876:
#line 16253 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $11 */
THD *thd= YYTHD;
LEX *lex= thd->lex;
if (lex->sphead)
{
my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER");
MYSQL_YYABORT;
}
sp_head *sp= sp_start_parsing(thd, enum_sp_type::TRIGGER, (yyvsp[-8].spname));
if (!sp)
MYSQL_YYABORT;
sp->m_trg_chistics.action_time= (enum enum_trigger_action_time_type) (yyvsp[-7].num);
sp->m_trg_chistics.event= (enum enum_trigger_event_type) (yyvsp[-6].num);
sp->m_trg_chistics.ordering_clause= (yyvsp[0].trg_characteristics).ordering_clause;
sp->m_trg_chistics.anchor_trigger_name= (yyvsp[0].trg_characteristics).anchor_trigger_name;
lex->stmt_definition_begin= (yylsp[-9]).cpp.start;
lex->ident.str= const_cast<char *>((yylsp[-4]).cpp.start);
lex->ident.length= (yylsp[-2]).cpp.start - (yylsp[-4]).cpp.start;
lex->sphead= sp;
lex->spname= (yyvsp[-8].spname);
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
sp->m_chistics= &lex->sp_chistics;
sp->set_body_start(thd, (yylsp[0]).cpp.end);
}
#line 42188 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2877:
#line 16285 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $13 */
THD *thd= YYTHD;
LEX *lex= Lex;
sp_head *sp= lex->sphead;
sp_finish_parsing(thd);
lex->sql_command= SQLCOM_CREATE_TRIGGER;
if (sp->is_not_allowed_in_function("trigger"))
MYSQL_YYABORT;
/*
We have to do it after parsing trigger body, because some of
sp_proc_stmt alternatives are not saving/restoring LEX, so
lex->query_tables can be wiped out.
*/
if (!lex->select_lex->add_table_to_list(thd, (yyvsp[-6].table),
nullptr,
TL_OPTION_UPDATING,
TL_READ_NO_INSERT,
MDL_SHARED_NO_WRITE))
MYSQL_YYABORT;
Lex->m_sql_cmd= new (YYTHD->mem_root) Sql_cmd_create_trigger();
}
#line 42219 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2878:
#line 16322 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
if (is_native_function((yyvsp[-4].lexer.lex_str)))
{
my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
(yyvsp[-4].lexer.lex_str).str);
MYSQL_YYABORT;
}
lex->sql_command = SQLCOM_CREATE_FUNCTION;
lex->udf.type= UDFTYPE_AGGREGATE;
lex->stmt_definition_begin= (yylsp[-5]).cpp.start;
lex->udf.name = (yyvsp[-4].lexer.lex_str);
lex->udf.returns=(Item_result) (yyvsp[-2].num);
lex->udf.dl=(yyvsp[0].lexer.lex_str).str;
}
#line 42240 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2879:
#line 16340 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
if (is_native_function((yyvsp[-4].lexer.lex_str)))
{
my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
(yyvsp[-4].lexer.lex_str).str);
MYSQL_YYABORT;
}
lex->sql_command = SQLCOM_CREATE_FUNCTION;
lex->udf.type= UDFTYPE_FUNCTION;
lex->stmt_definition_begin= (yylsp[-5]).cpp.start;
lex->udf.name = (yyvsp[-4].lexer.lex_str);
lex->udf.returns=(Item_result) (yyvsp[-2].num);
lex->udf.dl=(yyvsp[0].lexer.lex_str).str;
}
#line 42261 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2880:
#line 16362 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $4 */
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->stmt_definition_begin= (yylsp[-2]).cpp.start;
lex->spname= (yyvsp[-1].spname);
if (lex->sphead)
{
my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "FUNCTION");
MYSQL_YYABORT;
}
sp_head *sp= sp_start_parsing(thd, enum_sp_type::FUNCTION, lex->spname);
if (!sp)
MYSQL_YYABORT;
lex->sphead= sp;
sp->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end);
}
#line 42288 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2881:
#line 16386 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $7 */
Lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start);
}
#line 42296 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2882:
#line 16392 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $11 */
LEX *lex= Lex;
sp_head *sp= lex->sphead;
CONTEXTUALIZE((yyvsp[-1].type));
enum_field_types field_type= (yyvsp[-1].type)->type;
const CHARSET_INFO *cs= (yyvsp[-1].type)->get_charset();
if (merge_sp_var_charset_and_collation(cs, (yyvsp[0].lexer.charset), &cs))
MYSQL_YYABORT;
/*
This was disabled in 5.1.12. See bug #20701
When collation support in SP is implemented, then this test
should be removed.
*/
if ((field_type == MYSQL_TYPE_STRING || field_type == MYSQL_TYPE_VARCHAR)
&& ((yyvsp[-1].type)->get_type_flags() & BINCMP_FLAG))
{
my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation");
MYSQL_YYABORT;
}
if (sp->m_return_field_def.init(YYTHD, "", field_type,
(yyvsp[-1].type)->get_length(), (yyvsp[-1].type)->get_dec(),
(yyvsp[-1].type)->get_type_flags(), NULL, NULL, &NULL_CSTR, 0,
(yyvsp[-1].type)->get_interval_list(),
cs ? cs : YYTHD->variables.collation_database,
(yyvsp[0].lexer.charset) != nullptr, (yyvsp[-1].type)->get_uint_geom_type(),
nullptr, nullptr, {},
dd::Column::enum_hidden_type::HT_VISIBLE))
{
MYSQL_YYABORT;
}
if (prepare_sp_create_field(YYTHD,
&sp->m_return_field_def))
MYSQL_YYABORT;
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
}
#line 42341 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2883:
#line 16433 "sql_yacc.yy" /* yacc.c:1646 */
{ /* $13 */
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->set_body_start(thd, yylloc.cpp.start);
}
#line 42353 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2884:
#line 16441 "sql_yacc.yy" /* yacc.c:1646 */
{
THD *thd= YYTHD;
LEX *lex= thd->lex;
sp_head *sp= lex->sphead;
if (sp->is_not_allowed_in_function("function"))
MYSQL_YYABORT;
sp_finish_parsing(thd);
lex->sql_command= SQLCOM_CREATE_SPFUNCTION;
if (!(sp->m_flags & sp_head::HAS_RETURN))
{
my_error(ER_SP_NORETURN, MYF(0), sp->m_qname.str);
MYSQL_YYABORT;
}
if (is_native_function(sp->m_name))
{
/*
This warning will be printed when
[1] A client query is parsed,
[2] A stored function is loaded by db_load_routine.
Printing the warning for [2] is intentional, to cover the
following scenario:
- A user define a SF 'foo' using MySQL 5.N
- An application uses select foo(), and works.
- MySQL 5.{N+1} defines a new native function 'foo', as
part of a new feature.
- MySQL 5.{N+1} documentation is updated, and should mention
that there is a potential incompatible change in case of
existing stored function named 'foo'.
- The user deploys 5.{N+1}. At this point, 'select foo()'
means something different, and the user code is most likely
broken (it's only safe if the code is 'select db.foo()').
With a warning printed when the SF is loaded (which has to occur
before the call), the warning will provide a hint explaining
the root cause of a later failure of 'select foo()'.
With no warning printed, the user code will fail with no
apparent reason.
Printing a warning each time db_load_routine is executed for
an ambiguous function is annoying, since that can happen a lot,
but in practice should not happen unless there *are* name
collisions.
If a collision exists, it should not be silenced but fixed.
*/
push_warning_printf(thd,
Sql_condition::SL_NOTE,
ER_NATIVE_FCT_NAME_COLLISION,
ER_THD(thd, ER_NATIVE_FCT_NAME_COLLISION),
sp->m_name.str);
}
}
#line 42412 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2885:
#line 16500 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$3*/
THD *thd= YYTHD;
LEX *lex= Lex;
if (lex->sphead)
{
my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "PROCEDURE");
MYSQL_YYABORT;
}
lex->stmt_definition_begin= (yylsp[0]).cpp.start;
sp_head *sp= sp_start_parsing(thd, enum_sp_type::PROCEDURE, (yyvsp[0].spname));
if (!sp)
MYSQL_YYABORT;
lex->sphead= sp;
}
#line 42436 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2886:
#line 16520 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$5*/
Lex->sphead->m_parser_data.set_parameter_start_ptr((yylsp[0]).cpp.end);
}
#line 42444 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2887:
#line 16525 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$8*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sphead->m_parser_data.set_parameter_end_ptr((yylsp[0]).cpp.start);
memset(&lex->sp_chistics, 0, sizeof(st_sp_chistics));
}
#line 42456 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2888:
#line 16533 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$10*/
THD *thd= YYTHD;
LEX *lex= thd->lex;
lex->sphead->m_chistics= &lex->sp_chistics;
lex->sphead->set_body_start(thd, yylloc.cpp.start);
}
#line 42468 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2889:
#line 16541 "sql_yacc.yy" /* yacc.c:1646 */
{ /*$12*/
THD *thd= YYTHD;
LEX *lex= Lex;
sp_finish_parsing(thd);
lex->sql_command= SQLCOM_CREATE_PROCEDURE;
}
#line 42481 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2890:
#line 16555 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_START;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_start((yyvsp[-1].xid), (yyvsp[0].xa_option_type));
}
#line 42490 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2891:
#line 16560 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_END;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_end((yyvsp[-1].xid), (yyvsp[0].xa_option_type));
}
#line 42499 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2892:
#line 16565 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_PREPARE;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_prepare((yyvsp[0].xid));
}
#line 42508 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2893:
#line 16570 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_COMMIT;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_commit((yyvsp[-1].xid), (yyvsp[0].xa_option_type));
}
#line 42517 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2894:
#line 16575 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_ROLLBACK;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_rollback((yyvsp[0].xid));
}
#line 42526 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2895:
#line 16580 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command = SQLCOM_XA_RECOVER;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_xa_recover((yyvsp[0].is_not_empty));
}
#line 42535 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2896:
#line 16587 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= false; }
#line 42541 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2897:
#line 16588 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.is_not_empty)= true; }
#line 42547 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2898:
#line 16592 "sql_yacc.yy" /* yacc.c:1646 */
{
MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
XID *xid;
if (!(xid= (XID *)YYTHD->alloc(sizeof(XID))))
MYSQL_YYABORT;
xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
(yyval.xid)= xid;
}
#line 42560 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2899:
#line 16601 "sql_yacc.yy" /* yacc.c:1646 */
{
MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE &&
(yyvsp[0].string)->length() <= MAXBQUALSIZE);
XID *xid;
if (!(xid= (XID *)YYTHD->alloc(sizeof(XID))))
MYSQL_YYABORT;
xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
(yyval.xid)= xid;
}
#line 42574 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2900:
#line 16611 "sql_yacc.yy" /* yacc.c:1646 */
{
// check for overwflow of xid format id
bool format_id_overflow_detected= ((yyvsp[0].ulong_num) > LONG_MAX);
MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE &&
(yyvsp[-2].string)->length() <= MAXBQUALSIZE
&& !format_id_overflow_detected);
XID *xid;
if (!(xid= (XID *)YYTHD->alloc(sizeof(XID))))
MYSQL_YYABORT;
xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
(yyval.xid)= xid;
}
#line 42593 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2901:
#line 16628 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 42599 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2902:
#line 16629 "sql_yacc.yy" /* yacc.c:1646 */
{}
#line 42605 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2903:
#line 16633 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_NONE; }
#line 42611 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2904:
#line 16634 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_JOIN; }
#line 42617 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2905:
#line 16635 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_RESUME; }
#line 42623 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2906:
#line 16639 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_NONE; }
#line 42629 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2907:
#line 16640 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_ONE_PHASE; }
#line 42635 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2908:
#line 16645 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_NONE; }
#line 42641 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2909:
#line 16647 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_SUSPEND; }
#line 42647 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2910:
#line 16649 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.xa_option_type)= XA_FOR_MIGRATE; }
#line 42653 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2911:
#line 16654 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_INSTALL_PLUGIN;
lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_install_plugin(to_lex_cstring((yyvsp[-2].lexer.lex_str)), (yyvsp[0].lexer.lex_str));
}
#line 42663 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2912:
#line 16660 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_INSTALL_COMPONENT;
lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_install_component((yyvsp[0].lex_str_list));
}
#line 42673 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2913:
#line 16669 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_uninstall_plugin(to_lex_cstring((yyvsp[0].lexer.lex_str)));
}
#line 42683 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2914:
#line 16675 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_UNINSTALL_COMPONENT;
lex->m_sql_cmd= new (YYMEM_ROOT) Sql_cmd_uninstall_component((yyvsp[0].lex_str_list));
}
#line 42693 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2915:
#line 16684 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_str_list).init(YYTHD->mem_root);
if ((yyval.lex_str_list).push_back((yyvsp[0].lexer.lex_str)))
MYSQL_YYABORT; // OOM
}
#line 42703 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2916:
#line 16690 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lex_str_list)= (yyvsp[-2].lex_str_list);
if ((yyval.lex_str_list).push_back((yyvsp[0].lexer.lex_str)))
MYSQL_YYABORT; // OOM
}
#line 42713 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2917:
#line 16699 "sql_yacc.yy" /* yacc.c:1646 */
{
LEX *lex= Lex;
lex->m_sql_cmd=
new (YYTHD->mem_root) Sql_cmd_import_table((yyvsp[0].lex_str_list));
if (lex->m_sql_cmd == NULL)
MYSQL_YYABORT;
lex->sql_command= SQLCOM_IMPORT;
}
#line 42726 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2918:
#line 16717 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_CLONE;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_clone(to_lex_cstring((yyvsp[0].lexer.lex_str)));
if (Lex->m_sql_cmd == nullptr)
MYSQL_YYABORT;
}
#line 42737 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2919:
#line 16727 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->sql_command= SQLCOM_CLONE;
/* Reject space characters around ':' */
if ((yylsp[-4]).raw.start - (yylsp[-6]).raw.end != 1) {
YYTHD->syntax_error_at((yylsp[-5]));
MYSQL_YYABORT;
}
(yyvsp[-6].lex_user)->auth.str= (yyvsp[-1].lexer.lex_str).str;
(yyvsp[-6].lex_user)->auth.length= (yyvsp[-1].lexer.lex_str).length;
(yyvsp[-6].lex_user)->uses_identified_by_clause= true;
Lex->contains_plaintext_password= true;
Lex->m_sql_cmd= NEW_PTN Sql_cmd_clone((yyvsp[-6].lex_user), (yyvsp[-4].ulong_num), to_lex_cstring((yyvsp[0].lexer.lex_str)));
if (Lex->m_sql_cmd == nullptr)
MYSQL_YYABORT;
}
#line 42759 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2920:
#line 16748 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str)= null_lex_str;
}
#line 42767 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2921:
#line 16752 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.lexer.lex_str)= (yyvsp[-1].lexer.lex_str);
}
#line 42775 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2922:
#line 16759 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
}
#line 42783 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2923:
#line 16763 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type= SSL_TYPE_SPECIFIED;
}
#line 42791 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2924:
#line 16767 "sql_yacc.yy" /* yacc.c:1646 */
{
Lex->ssl_type= SSL_TYPE_NONE;
}
#line 42799 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2925:
#line 16773 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_type)= resourcegroups::Type::USER_RESOURCE_GROUP; }
#line 42805 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2926:
#line 16774 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_type)= resourcegroups::Type::SYSTEM_RESOURCE_GROUP; }
#line 42811 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2927:
#line 16779 "sql_yacc.yy" /* yacc.c:1646 */
{
/* Make an empty list. */
(yyval.resource_group_vcpu_list_type)= NEW_PTN Mem_root_array<resourcegroups::Range>(YYMEM_ROOT);
if ((yyval.resource_group_vcpu_list_type) == nullptr)
MYSQL_YYABORT;
}
#line 42822 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2928:
#line 16785 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_vcpu_list_type)= (yyvsp[0].resource_group_vcpu_list_type); }
#line 42828 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2929:
#line 16790 "sql_yacc.yy" /* yacc.c:1646 */
{
resourcegroups::Range r((yyvsp[0].vcpu_range_type).start, (yyvsp[0].vcpu_range_type).end);
(yyval.resource_group_vcpu_list_type)= NEW_PTN Mem_root_array<resourcegroups::Range>(YYMEM_ROOT);
if ((yyval.resource_group_vcpu_list_type) == nullptr || (yyval.resource_group_vcpu_list_type)->push_back(r))
MYSQL_YYABORT;
}
#line 42839 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2930:
#line 16797 "sql_yacc.yy" /* yacc.c:1646 */
{
resourcegroups::Range r((yyvsp[0].vcpu_range_type).start, (yyvsp[0].vcpu_range_type).end);
(yyval.resource_group_vcpu_list_type)= (yyvsp[-2].resource_group_vcpu_list_type);
if ((yyval.resource_group_vcpu_list_type) == nullptr || (yyval.resource_group_vcpu_list_type)->push_back(r))
MYSQL_YYABORT;
}
#line 42850 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2931:
#line 16807 "sql_yacc.yy" /* yacc.c:1646 */
{
auto cpu_id= my_strtoull((yyvsp[0].lexer.lex_str).str, nullptr, 10);
(yyval.vcpu_range_type).start= (yyval.vcpu_range_type).end=
static_cast<resourcegroups::platform::cpu_id_t>(cpu_id);
DBUG_ASSERT((yyval.vcpu_range_type).start == cpu_id); // truncation check
}
#line 42861 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2932:
#line 16814 "sql_yacc.yy" /* yacc.c:1646 */
{
auto start= my_strtoull((yyvsp[-2].lexer.lex_str).str, nullptr, 10);
(yyval.vcpu_range_type).start= static_cast<resourcegroups::platform::cpu_id_t>(start);
DBUG_ASSERT((yyval.vcpu_range_type).start == start); // truncation check
auto end= my_strtoull((yyvsp[0].lexer.lex_str).str, nullptr, 10);
(yyval.vcpu_range_type).end= static_cast<resourcegroups::platform::cpu_id_t>(end);
DBUG_ASSERT((yyval.vcpu_range_type).end == end); // truncation check
}
#line 42875 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2933:
#line 16826 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= static_cast<int>(my_strtoll((yyvsp[0].lexer.lex_str).str, nullptr, 10)); }
#line 42881 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2934:
#line 16827 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.num)= -static_cast<int>(my_strtoll((yyvsp[0].lexer.lex_str).str, nullptr, 10)); }
#line 42887 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2935:
#line 16831 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_priority_type).is_default= true; }
#line 42893 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2936:
#line 16833 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.resource_group_priority_type).is_default= false;
(yyval.resource_group_priority_type).value= (yyvsp[0].num);
}
#line 42902 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2937:
#line 16840 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_state_type).is_default= true; }
#line 42908 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2938:
#line 16842 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.resource_group_state_type).is_default= false;
(yyval.resource_group_state_type).value= true;
}
#line 42917 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2939:
#line 16847 "sql_yacc.yy" /* yacc.c:1646 */
{
(yyval.resource_group_state_type).is_default= false;
(yyval.resource_group_state_type).value= false;
}
#line 42926 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2940:
#line 16854 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_flag_type)= false; }
#line 42932 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
case 2941:
#line 16855 "sql_yacc.yy" /* yacc.c:1646 */
{ (yyval.resource_group_flag_type)= true; }
#line 42938 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
break;
#line 42942 "/export/home3/pb2/build/sb_4-36015059-1568969063.34/dist_GPL/sql/sql_yacc.cc" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the
case of YYERROR or YYBACKUP, subsequent parser actions might lead
to an incorrect destructor call or verbose syntax error message
before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
*++yylsp = yyloc;
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTOKENS];
goto yynewstate;
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
#if ! YYERROR_VERBOSE
yyerror (&yylloc, YYTHD, parse_tree, YY_("syntax error"));
#else
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
{
char const *yymsgp = YY_("syntax error");
int yysyntax_error_status;
yysyntax_error_status = YYSYNTAX_ERROR;
if (yysyntax_error_status == 0)
yymsgp = yymsg;
else if (yysyntax_error_status == 1)
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
if (!yymsg)
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
yysyntax_error_status = 2;
}
else
{
yysyntax_error_status = YYSYNTAX_ERROR;
yymsgp = yymsg;
}
}
yyerror (&yylloc, YYTHD, parse_tree, yymsgp);
if (yysyntax_error_status == 2)
goto yyexhaustedlab;
}
# undef YYSYNTAX_ERROR
#endif
}
yyerror_range[1] = yylloc;
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
{
/* Return failure if at end of input. */
if (yychar == YYEOF)
YYABORT;
}
else
{
yydestruct ("Error: discarding",
yytoken, &yylval, &yylloc, YYTHD, parse_tree);
yychar = YYEMPTY;
}
}
/* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
/* Pacify compilers like GCC when the user code never invokes
YYERROR and the label yyerrorlab therefore never appears in user
code. */
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
yyerror_range[1] = yylsp[1-yylen];
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
yystate = *yyssp;
goto yyerrlab1;
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
{
yyn = yytable[yyn];
if (0 < yyn)
break;
}
}
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
YYABORT;
yyerror_range[1] = *yylsp;
yydestruct ("Error: popping",
yystos[yystate], yyvsp, yylsp, YYTHD, parse_tree);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
yyerror_range[2] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
*++yylsp = yyloc;
/* Shift the error token. */
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
yystate = yyn;
goto yynewstate;
/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here. |
`-------------------------------------*/
yyacceptlab:
yyresult = 0;
goto yyreturn;
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
yyabortlab:
yyresult = 1;
goto yyreturn;
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
yyexhaustedlab:
yyerror (&yylloc, YYTHD, parse_tree, YY_("memory exhausted"));
yyresult = 2;
/* Fall through. */
#endif
yyreturn:
if (yychar != YYEMPTY)
{
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = YYTRANSLATE (yychar);
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc, YYTHD, parse_tree);
}
/* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
yystos[*yyssp], yyvsp, yylsp, YYTHD, parse_tree);
YYPOPSTACK (1);
}
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
#if YYERROR_VERBOSE
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
return yyresult;
}