/* A Bison parser, made by GNU Bison 3.7.5. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, especially those whose name start with YY_ or yy_. They are private implementation details that can be changed or removed. */ /* 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, and Bison version. */ #define YYBISON 30705 /* Bison version string. */ #define YYBISON_VERSION "3.7.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Substitute the variable and function names. */ #define yyparse base_yyparse #define yylex base_yylex #define yyerror base_yyerror #define yydebug base_yydebug #define yynerrs base_yynerrs #define yylval base_yylval #define yychar base_yychar #define yylloc base_yylloc /* First part of user prologue. */ #line 5 "preproc.y" #include "postgres_fe.h" #include "preproc_extern.h" #include "ecpg_config.h" #include /* Location tracking support --- simpler than bison's default */ #define YYLLOC_DEFAULT(Current, Rhs, N) \ do { \ if (N) \ (Current) = (Rhs)[1]; \ else \ (Current) = (Rhs)[0]; \ } while (0) /* * The %name-prefix option below will make bison call base_yylex, but we * really want it to call filtered_base_yylex (see parser.c). */ #define base_yylex filtered_base_yylex /* * This is only here so the string gets into the POT. Bison uses it * internally. */ #define bison_gettext_dummy gettext_noop("syntax error") /* * Variables containing simple states. */ int struct_level = 0; int braces_open; /* brace level counter */ char *current_function; int ecpg_internal_var = 0; char *connection = NULL; char *input_filename = NULL; static int FoundInto = 0; static int initializer = 0; static int pacounter = 1; static char pacounter_buffer[sizeof(int) * CHAR_BIT * 10 / 3]; /* a rough guess at the size we need */ static struct this_type actual_type[STRUCT_DEPTH]; static char *actual_startline[STRUCT_DEPTH]; static int varchar_counter = 1; static int bytea_counter = 1; /* temporarily store struct members while creating the data structure */ struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH] = { NULL }; /* also store struct type so we can do a sizeof() later */ static char *ECPGstruct_sizeof = NULL; /* for forward declarations we have to store some data as well */ static char *forward_name = NULL; struct ECPGtype ecpg_no_indicator = {ECPGt_NO_INDICATOR, NULL, NULL, NULL, {NULL}, 0}; struct variable no_indicator = {"no_indicator", &ecpg_no_indicator, 0, NULL}; static struct ECPGtype ecpg_query = {ECPGt_char_variable, NULL, NULL, NULL, {NULL}, 0}; static void vmmerror(int error_code, enum errortype type, const char *error, va_list ap) pg_attribute_printf(3, 0); static bool check_declared_list(const char *name); /* * Handle parsing errors and warnings */ static void vmmerror(int error_code, enum errortype type, const char *error, va_list ap) { /* localize the error message string */ error = _(error); fprintf(stderr, "%s:%d: ", input_filename, base_yylineno); switch(type) { case ET_WARNING: fprintf(stderr, _("WARNING: ")); break; case ET_ERROR: fprintf(stderr, _("ERROR: ")); break; } vfprintf(stderr, error, ap); fprintf(stderr, "\n"); switch(type) { case ET_WARNING: break; case ET_ERROR: ret_value = error_code; break; } } void mmerror(int error_code, enum errortype type, const char *error, ...) { va_list ap; va_start(ap, error); vmmerror(error_code, type, error, ap); va_end(ap); } void mmfatal(int error_code, const char *error, ...) { va_list ap; va_start(ap, error); vmmerror(error_code, ET_ERROR, error, ap); va_end(ap); if (base_yyin) fclose(base_yyin); if (base_yyout) fclose(base_yyout); if (strcmp(output_filename, "-") != 0 && unlink(output_filename) != 0) fprintf(stderr, _("could not remove output file \"%s\"\n"), output_filename); exit(error_code); } /* * string concatenation */ static char * cat2_str(char *str1, char *str2) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 2); strcpy(res_str, str1); if (strlen(str1) != 0 && strlen(str2) != 0) strcat(res_str, " "); strcat(res_str, str2); free(str1); free(str2); return res_str; } static char * cat_str(int count, ...) { va_list args; int i; char *res_str; va_start(args, count); res_str = va_arg(args, char *); /* now add all other strings */ for (i = 1; i < count; i++) res_str = cat2_str(res_str, va_arg(args, char *)); va_end(args); return res_str; } static char * make2_str(char *str1, char *str2) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 1); strcpy(res_str, str1); strcat(res_str, str2); free(str1); free(str2); return res_str; } static char * make3_str(char *str1, char *str2, char *str3) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) +strlen(str3) + 1); strcpy(res_str, str1); strcat(res_str, str2); strcat(res_str, str3); free(str1); free(str2); free(str3); return res_str; } /* and the rest */ static char * make_name(void) { return mm_strdup(base_yytext); } static char * create_questionmarks(char *name, bool array) { struct variable *p = find_variable(name); int count; char *result = EMPTY; /* In case we have a struct, we have to print as many "?" as there are attributes in the struct * An array is only allowed together with an element argument * This is essentially only used for inserts, but using a struct as input parameter is an error anywhere else * so we don't have to worry here. */ if (p->type->type == ECPGt_struct || (array && p->type->type == ECPGt_array && p->type->u.element->type == ECPGt_struct)) { struct ECPGstruct_member *m; if (p->type->type == ECPGt_struct) m = p->type->u.members; else m = p->type->u.element->u.members; for (count = 0; m != NULL; m=m->next, count++); } else count = 1; for (; count > 0; count --) { sprintf(pacounter_buffer, "$%d", pacounter++); result = cat_str(3, result, mm_strdup(pacounter_buffer), mm_strdup(" , ")); } /* removed the trailing " ," */ result[strlen(result)-3] = '\0'; return result; } static char * adjust_outofscope_cursor_vars(struct cursor *cur) { /* Informix accepts DECLARE with variables that are out of scope when OPEN is called. * For instance you can DECLARE a cursor in one function, and OPEN/FETCH/CLOSE * it in another functions. This is very useful for e.g. event-driver programming, * but may also lead to dangerous programming. The limitation when this is allowed * and doesn't cause problems have to be documented, like the allocated variables * must not be realloc()'ed. * * We have to change the variables to our own struct and just store the pointer * instead of the variable. Do it only for local variables, not for globals. */ char *result = EMPTY; int insert; for (insert = 1; insert >= 0; insert--) { struct arguments *list; struct arguments *ptr; struct arguments *newlist = NULL; struct variable *newvar, *newind; list = (insert ? cur->argsinsert : cur->argsresult); for (ptr = list; ptr != NULL; ptr = ptr->next) { char var_text[20]; char *original_var; bool skip_set_var = false; bool var_ptr = false; /* change variable name to "ECPGget_var()" */ original_var = ptr->variable->name; sprintf(var_text, "%d))", ecpg_internal_var); /* Don't emit ECPGset_var() calls for global variables */ if (ptr->variable->brace_level == 0) { newvar = ptr->variable; skip_set_var = true; } else if ((ptr->variable->type->type == ECPGt_char_variable) && (strncmp(ptr->variable->name, "ECPGprepared_statement", strlen("ECPGprepared_statement")) == 0)) { newvar = ptr->variable; skip_set_var = true; } else if ((ptr->variable->type->type != ECPGt_varchar && ptr->variable->type->type != ECPGt_char && ptr->variable->type->type != ECPGt_unsigned_char && ptr->variable->type->type != ECPGt_string && ptr->variable->type->type != ECPGt_bytea) && atoi(ptr->variable->type->size) > 1) { newvar = new_variable(cat_str(4, mm_strdup("("), mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, mm_strdup("1"), ptr->variable->type->u.element->counter), ptr->variable->type->size), 0); } else if ((ptr->variable->type->type == ECPGt_varchar || ptr->variable->type->type == ECPGt_char || ptr->variable->type->type == ECPGt_unsigned_char || ptr->variable->type->type == ECPGt_string || ptr->variable->type->type == ECPGt_bytea) && atoi(ptr->variable->type->size) > 1) { newvar = new_variable(cat_str(4, mm_strdup("("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->counter), 0); if (ptr->variable->type->type == ECPGt_varchar || ptr->variable->type->type == ECPGt_bytea) var_ptr = true; } else if (ptr->variable->type->type == ECPGt_struct || ptr->variable->type->type == ECPGt_union) { newvar = new_variable(cat_str(5, mm_strdup("(*("), mm_strdup(ptr->variable->type->type_name), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text), mm_strdup(")")), ECPGmake_struct_type(ptr->variable->type->u.members, ptr->variable->type->type, ptr->variable->type->type_name, ptr->variable->type->struct_sizeof), 0); var_ptr = true; } else if (ptr->variable->type->type == ECPGt_array) { if (ptr->variable->type->u.element->type == ECPGt_struct || ptr->variable->type->u.element->type == ECPGt_union) { newvar = new_variable(cat_str(5, mm_strdup("(*("), mm_strdup(ptr->variable->type->u.element->type_name), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text), mm_strdup(")")), ECPGmake_struct_type(ptr->variable->type->u.element->u.members, ptr->variable->type->u.element->type, ptr->variable->type->u.element->type_name, ptr->variable->type->u.element->struct_sizeof), 0); } else { newvar = new_variable(cat_str(4, mm_strdup("("), mm_strdup(ecpg_type_name(ptr->variable->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, ptr->variable->type->u.element->size, ptr->variable->type->u.element->counter), ptr->variable->type->size), 0); var_ptr = true; } } else { newvar = new_variable(cat_str(4, mm_strdup("*("), mm_strdup(ecpg_type_name(ptr->variable->type->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size, ptr->variable->type->counter), 0); var_ptr = true; } /* create call to "ECPGset_var(, , . )" */ if (!skip_set_var) { sprintf(var_text, "%d, %s", ecpg_internal_var++, var_ptr ? "&(" : "("); result = cat_str(5, result, mm_strdup("ECPGset_var("), mm_strdup(var_text), mm_strdup(original_var), mm_strdup("), __LINE__);\n")); } /* now the indicator if there is one and it's not a global variable */ if ((ptr->indicator->type->type == ECPGt_NO_INDICATOR) || (ptr->indicator->brace_level == 0)) { newind = ptr->indicator; } else { /* change variable name to "ECPGget_var()" */ original_var = ptr->indicator->name; sprintf(var_text, "%d))", ecpg_internal_var); var_ptr = false; if (ptr->indicator->type->type == ECPGt_struct || ptr->indicator->type->type == ECPGt_union) { newind = new_variable(cat_str(5, mm_strdup("(*("), mm_strdup(ptr->indicator->type->type_name), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text), mm_strdup(")")), ECPGmake_struct_type(ptr->indicator->type->u.members, ptr->indicator->type->type, ptr->indicator->type->type_name, ptr->indicator->type->struct_sizeof), 0); var_ptr = true; } else if (ptr->indicator->type->type == ECPGt_array) { if (ptr->indicator->type->u.element->type == ECPGt_struct || ptr->indicator->type->u.element->type == ECPGt_union) { newind = new_variable(cat_str(5, mm_strdup("(*("), mm_strdup(ptr->indicator->type->u.element->type_name), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text), mm_strdup(")")), ECPGmake_struct_type(ptr->indicator->type->u.element->u.members, ptr->indicator->type->u.element->type, ptr->indicator->type->u.element->type_name, ptr->indicator->type->u.element->struct_sizeof), 0); } else { newind = new_variable(cat_str(4, mm_strdup("("), mm_strdup(ecpg_type_name(ptr->indicator->type->u.element->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_array_type(ECPGmake_simple_type(ptr->indicator->type->u.element->type, ptr->indicator->type->u.element->size, ptr->indicator->type->u.element->counter), ptr->indicator->type->size), 0); var_ptr = true; } } else if (atoi(ptr->indicator->type->size) > 1) { newind = new_variable(cat_str(4, mm_strdup("("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->counter), 0); } else { newind = new_variable(cat_str(4, mm_strdup("*("), mm_strdup(ecpg_type_name(ptr->indicator->type->type)), mm_strdup(" *)(ECPGget_var("), mm_strdup(var_text)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size, ptr->variable->type->counter), 0); var_ptr = true; } /* create call to "ECPGset_var(, . )" */ sprintf(var_text, "%d, %s", ecpg_internal_var++, var_ptr ? "&(" : "("); result = cat_str(5, result, mm_strdup("ECPGset_var("), mm_strdup(var_text), mm_strdup(original_var), mm_strdup("), __LINE__);\n")); } add_variable_to_tail(&newlist, newvar, newind); } if (insert) cur->argsinsert_oos = newlist; else cur->argsresult_oos = newlist; } return result; } /* This tests whether the cursor was declared and opened in the same function. */ #define SAMEFUNC(cur) \ ((cur->function == NULL) || \ (cur->function != NULL && strcmp(cur->function, current_function) == 0)) static struct cursor * add_additional_variables(char *name, bool insert) { struct cursor *ptr; struct arguments *p; int (* strcmp_fn)(const char *, const char *) = ((name[0] == ':' || name[0] == '"') ? strcmp : pg_strcasecmp); for (ptr = cur; ptr != NULL; ptr=ptr->next) { if (strcmp_fn(ptr->name, name) == 0) break; } if (ptr == NULL) { mmerror(PARSE_ERROR, ET_ERROR, "cursor \"%s\" does not exist", name); return NULL; } if (insert) { /* add all those input variables that were given earlier * note that we have to append here but have to keep the existing order */ for (p = (SAMEFUNC(ptr) ? ptr->argsinsert : ptr->argsinsert_oos); p; p = p->next) add_variable_to_tail(&argsinsert, p->variable, p->indicator); } /* add all those output variables that were given earlier */ for (p = (SAMEFUNC(ptr) ? ptr->argsresult : ptr->argsresult_oos); p; p = p->next) add_variable_to_tail(&argsresult, p->variable, p->indicator); return ptr; } static void add_typedef(char *name, char *dimension, char *length, enum ECPGttype type_enum, char *type_dimension, char *type_index, int initializer, int array) { /* add entry to list */ struct typedefs *ptr, *this; if ((type_enum == ECPGt_struct || type_enum == ECPGt_union) && initializer == 1) mmerror(PARSE_ERROR, ET_ERROR, "initializer not allowed in type definition"); else if (INFORMIX_MODE && strcmp(name, "string") == 0) mmerror(PARSE_ERROR, ET_ERROR, "type name \"string\" is reserved in Informix mode"); else { for (ptr = types; ptr != NULL; ptr = ptr->next) { if (strcmp(name, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "type \"%s\" is already defined", name); } adjust_array(type_enum, &dimension, &length, type_dimension, type_index, array, true); this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); /* initial definition */ this->next = types; this->name = name; this->brace_level = braces_open; this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); this->type->type_enum = type_enum; this->type->type_str = mm_strdup(name); this->type->type_dimension = dimension; /* dimension of array */ this->type->type_index = length; /* length of string */ this->type->type_sizeof = ECPGstruct_sizeof; this->struct_member_list = (type_enum == ECPGt_struct || type_enum == ECPGt_union) ? ECPGstruct_member_dup(struct_member_list[struct_level]) : NULL; if (type_enum != ECPGt_varchar && type_enum != ECPGt_bytea && type_enum != ECPGt_char && type_enum != ECPGt_unsigned_char && type_enum != ECPGt_string && atoi(this->type->type_index) >= 0) mmerror(PARSE_ERROR, ET_ERROR, "multidimensional arrays for simple data types are not supported"); types = this; } } /* * check an SQL identifier is declared or not. * If it is already declared, the global variable * connection will be changed to the related connection. */ static bool check_declared_list(const char *name) { struct declared_list *ptr = NULL; for (ptr = g_declared_list; ptr != NULL; ptr = ptr -> next) { if (!ptr->connection) continue; if (strcmp(name, ptr -> name) == 0) { if (connection && strcmp(ptr->connection, connection) != 0) mmerror(PARSE_ERROR, ET_WARNING, "connection %s is overwritten with %s by DECLARE statement %s", connection, ptr->connection, name); connection = mm_strdup(ptr -> connection); return true; } } return false; } #line 682 "preproc.c" # ifndef YY_CAST # ifdef __cplusplus # define YY_CAST(Type, Val) static_cast (Val) # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast (Val) # else # define YY_CAST(Type, Val) ((Type) (Val)) # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) # endif # endif # ifndef YY_NULLPTR # if defined __cplusplus # if 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # else # define YY_NULLPTR ((void*)0) # endif # endif #include "preproc.h" /* Symbol kind. */ enum yysymbol_kind_t { YYSYMBOL_YYEMPTY = -2, YYSYMBOL_YYEOF = 0, /* "end of file" */ YYSYMBOL_YYerror = 1, /* error */ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ YYSYMBOL_SQL_ALLOCATE = 3, /* SQL_ALLOCATE */ YYSYMBOL_SQL_AUTOCOMMIT = 4, /* SQL_AUTOCOMMIT */ YYSYMBOL_SQL_BOOL = 5, /* SQL_BOOL */ YYSYMBOL_SQL_BREAK = 6, /* SQL_BREAK */ YYSYMBOL_SQL_CARDINALITY = 7, /* SQL_CARDINALITY */ YYSYMBOL_SQL_CONNECT = 8, /* SQL_CONNECT */ YYSYMBOL_SQL_COUNT = 9, /* SQL_COUNT */ YYSYMBOL_SQL_DATETIME_INTERVAL_CODE = 10, /* SQL_DATETIME_INTERVAL_CODE */ YYSYMBOL_SQL_DATETIME_INTERVAL_PRECISION = 11, /* SQL_DATETIME_INTERVAL_PRECISION */ YYSYMBOL_SQL_DESCRIBE = 12, /* SQL_DESCRIBE */ YYSYMBOL_SQL_DESCRIPTOR = 13, /* SQL_DESCRIPTOR */ YYSYMBOL_SQL_DISCONNECT = 14, /* SQL_DISCONNECT */ YYSYMBOL_SQL_FOUND = 15, /* SQL_FOUND */ YYSYMBOL_SQL_FREE = 16, /* SQL_FREE */ YYSYMBOL_SQL_GET = 17, /* SQL_GET */ YYSYMBOL_SQL_GO = 18, /* SQL_GO */ YYSYMBOL_SQL_GOTO = 19, /* SQL_GOTO */ YYSYMBOL_SQL_IDENTIFIED = 20, /* SQL_IDENTIFIED */ YYSYMBOL_SQL_INDICATOR = 21, /* SQL_INDICATOR */ YYSYMBOL_SQL_KEY_MEMBER = 22, /* SQL_KEY_MEMBER */ YYSYMBOL_SQL_LENGTH = 23, /* SQL_LENGTH */ YYSYMBOL_SQL_LONG = 24, /* SQL_LONG */ YYSYMBOL_SQL_NULLABLE = 25, /* SQL_NULLABLE */ YYSYMBOL_SQL_OCTET_LENGTH = 26, /* SQL_OCTET_LENGTH */ YYSYMBOL_SQL_OPEN = 27, /* SQL_OPEN */ YYSYMBOL_SQL_OUTPUT = 28, /* SQL_OUTPUT */ YYSYMBOL_SQL_REFERENCE = 29, /* SQL_REFERENCE */ YYSYMBOL_SQL_RETURNED_LENGTH = 30, /* SQL_RETURNED_LENGTH */ YYSYMBOL_SQL_RETURNED_OCTET_LENGTH = 31, /* SQL_RETURNED_OCTET_LENGTH */ YYSYMBOL_SQL_SCALE = 32, /* SQL_SCALE */ YYSYMBOL_SQL_SECTION = 33, /* SQL_SECTION */ YYSYMBOL_SQL_SHORT = 34, /* SQL_SHORT */ YYSYMBOL_SQL_SIGNED = 35, /* SQL_SIGNED */ YYSYMBOL_SQL_SQLERROR = 36, /* SQL_SQLERROR */ YYSYMBOL_SQL_SQLPRINT = 37, /* SQL_SQLPRINT */ YYSYMBOL_SQL_SQLWARNING = 38, /* SQL_SQLWARNING */ YYSYMBOL_SQL_START = 39, /* SQL_START */ YYSYMBOL_SQL_STOP = 40, /* SQL_STOP */ YYSYMBOL_SQL_STRUCT = 41, /* SQL_STRUCT */ YYSYMBOL_SQL_UNSIGNED = 42, /* SQL_UNSIGNED */ YYSYMBOL_SQL_VAR = 43, /* SQL_VAR */ YYSYMBOL_SQL_WHENEVER = 44, /* SQL_WHENEVER */ YYSYMBOL_S_ADD = 45, /* S_ADD */ YYSYMBOL_S_AND = 46, /* S_AND */ YYSYMBOL_S_ANYTHING = 47, /* S_ANYTHING */ YYSYMBOL_S_AUTO = 48, /* S_AUTO */ YYSYMBOL_S_CONST = 49, /* S_CONST */ YYSYMBOL_S_DEC = 50, /* S_DEC */ YYSYMBOL_S_DIV = 51, /* S_DIV */ YYSYMBOL_S_DOTPOINT = 52, /* S_DOTPOINT */ YYSYMBOL_S_EQUAL = 53, /* S_EQUAL */ YYSYMBOL_S_EXTERN = 54, /* S_EXTERN */ YYSYMBOL_S_INC = 55, /* S_INC */ YYSYMBOL_S_LSHIFT = 56, /* S_LSHIFT */ YYSYMBOL_S_MEMPOINT = 57, /* S_MEMPOINT */ YYSYMBOL_S_MEMBER = 58, /* S_MEMBER */ YYSYMBOL_S_MOD = 59, /* S_MOD */ YYSYMBOL_S_MUL = 60, /* S_MUL */ YYSYMBOL_S_NEQUAL = 61, /* S_NEQUAL */ YYSYMBOL_S_OR = 62, /* S_OR */ YYSYMBOL_S_REGISTER = 63, /* S_REGISTER */ YYSYMBOL_S_RSHIFT = 64, /* S_RSHIFT */ YYSYMBOL_S_STATIC = 65, /* S_STATIC */ YYSYMBOL_S_SUB = 66, /* S_SUB */ YYSYMBOL_S_VOLATILE = 67, /* S_VOLATILE */ YYSYMBOL_S_TYPEDEF = 68, /* S_TYPEDEF */ YYSYMBOL_CSTRING = 69, /* CSTRING */ YYSYMBOL_CVARIABLE = 70, /* CVARIABLE */ YYSYMBOL_CPP_LINE = 71, /* CPP_LINE */ YYSYMBOL_IP = 72, /* IP */ YYSYMBOL_IDENT = 73, /* IDENT */ YYSYMBOL_UIDENT = 74, /* UIDENT */ YYSYMBOL_FCONST = 75, /* FCONST */ YYSYMBOL_SCONST = 76, /* SCONST */ YYSYMBOL_USCONST = 77, /* USCONST */ YYSYMBOL_BCONST = 78, /* BCONST */ YYSYMBOL_XCONST = 79, /* XCONST */ YYSYMBOL_Op = 80, /* Op */ YYSYMBOL_ICONST = 81, /* ICONST */ YYSYMBOL_PARAM = 82, /* PARAM */ YYSYMBOL_TYPECAST = 83, /* TYPECAST */ YYSYMBOL_DOT_DOT = 84, /* DOT_DOT */ YYSYMBOL_COLON_EQUALS = 85, /* COLON_EQUALS */ YYSYMBOL_EQUALS_GREATER = 86, /* EQUALS_GREATER */ YYSYMBOL_LESS_EQUALS = 87, /* LESS_EQUALS */ YYSYMBOL_GREATER_EQUALS = 88, /* GREATER_EQUALS */ YYSYMBOL_NOT_EQUALS = 89, /* NOT_EQUALS */ YYSYMBOL_ABORT_P = 90, /* ABORT_P */ YYSYMBOL_ABSENT = 91, /* ABSENT */ YYSYMBOL_ABSOLUTE_P = 92, /* ABSOLUTE_P */ YYSYMBOL_ACCESS = 93, /* ACCESS */ YYSYMBOL_ACTION = 94, /* ACTION */ YYSYMBOL_ADD_P = 95, /* ADD_P */ YYSYMBOL_ADMIN = 96, /* ADMIN */ YYSYMBOL_AFTER = 97, /* AFTER */ YYSYMBOL_AGGREGATE = 98, /* AGGREGATE */ YYSYMBOL_ALL = 99, /* ALL */ YYSYMBOL_ALSO = 100, /* ALSO */ YYSYMBOL_ALTER = 101, /* ALTER */ YYSYMBOL_ALWAYS = 102, /* ALWAYS */ YYSYMBOL_ANALYSE = 103, /* ANALYSE */ YYSYMBOL_ANALYZE = 104, /* ANALYZE */ YYSYMBOL_AND = 105, /* AND */ YYSYMBOL_ANY = 106, /* ANY */ YYSYMBOL_ARRAY = 107, /* ARRAY */ YYSYMBOL_AS = 108, /* AS */ YYSYMBOL_ASC = 109, /* ASC */ YYSYMBOL_ASENSITIVE = 110, /* ASENSITIVE */ YYSYMBOL_ASSERTION = 111, /* ASSERTION */ YYSYMBOL_ASSIGNMENT = 112, /* ASSIGNMENT */ YYSYMBOL_ASYMMETRIC = 113, /* ASYMMETRIC */ YYSYMBOL_ATOMIC = 114, /* ATOMIC */ YYSYMBOL_AT = 115, /* AT */ YYSYMBOL_ATTACH = 116, /* ATTACH */ YYSYMBOL_ATTRIBUTE = 117, /* ATTRIBUTE */ YYSYMBOL_AUTHORIZATION = 118, /* AUTHORIZATION */ YYSYMBOL_BACKWARD = 119, /* BACKWARD */ YYSYMBOL_BEFORE = 120, /* BEFORE */ YYSYMBOL_BEGIN_P = 121, /* BEGIN_P */ YYSYMBOL_BETWEEN = 122, /* BETWEEN */ YYSYMBOL_BIGINT = 123, /* BIGINT */ YYSYMBOL_BINARY = 124, /* BINARY */ YYSYMBOL_BIT = 125, /* BIT */ YYSYMBOL_BOOLEAN_P = 126, /* BOOLEAN_P */ YYSYMBOL_BOTH = 127, /* BOTH */ YYSYMBOL_BREADTH = 128, /* BREADTH */ YYSYMBOL_BY = 129, /* BY */ YYSYMBOL_CACHE = 130, /* CACHE */ YYSYMBOL_CALL = 131, /* CALL */ YYSYMBOL_CALLED = 132, /* CALLED */ YYSYMBOL_CASCADE = 133, /* CASCADE */ YYSYMBOL_CASCADED = 134, /* CASCADED */ YYSYMBOL_CASE = 135, /* CASE */ YYSYMBOL_CAST = 136, /* CAST */ YYSYMBOL_CATALOG_P = 137, /* CATALOG_P */ YYSYMBOL_CHAIN = 138, /* CHAIN */ YYSYMBOL_CHAR_P = 139, /* CHAR_P */ YYSYMBOL_CHARACTER = 140, /* CHARACTER */ YYSYMBOL_CHARACTERISTICS = 141, /* CHARACTERISTICS */ YYSYMBOL_CHECK = 142, /* CHECK */ YYSYMBOL_CHECKPOINT = 143, /* CHECKPOINT */ YYSYMBOL_CLASS = 144, /* CLASS */ YYSYMBOL_CLOSE = 145, /* CLOSE */ YYSYMBOL_CLUSTER = 146, /* CLUSTER */ YYSYMBOL_COALESCE = 147, /* COALESCE */ YYSYMBOL_COLLATE = 148, /* COLLATE */ YYSYMBOL_COLLATION = 149, /* COLLATION */ YYSYMBOL_COLUMN = 150, /* COLUMN */ YYSYMBOL_COLUMNS = 151, /* COLUMNS */ YYSYMBOL_COMMENT = 152, /* COMMENT */ YYSYMBOL_COMMENTS = 153, /* COMMENTS */ YYSYMBOL_COMMIT = 154, /* COMMIT */ YYSYMBOL_COMMITTED = 155, /* COMMITTED */ YYSYMBOL_COMPRESSION = 156, /* COMPRESSION */ YYSYMBOL_CONCURRENTLY = 157, /* CONCURRENTLY */ YYSYMBOL_CONFIGURATION = 158, /* CONFIGURATION */ YYSYMBOL_CONFLICT = 159, /* CONFLICT */ YYSYMBOL_CONNECTION = 160, /* CONNECTION */ YYSYMBOL_CONSTRAINT = 161, /* CONSTRAINT */ YYSYMBOL_CONSTRAINTS = 162, /* CONSTRAINTS */ YYSYMBOL_CONTENT_P = 163, /* CONTENT_P */ YYSYMBOL_CONTINUE_P = 164, /* CONTINUE_P */ YYSYMBOL_CONVERSION_P = 165, /* CONVERSION_P */ YYSYMBOL_COPY = 166, /* COPY */ YYSYMBOL_COST = 167, /* COST */ YYSYMBOL_CREATE = 168, /* CREATE */ YYSYMBOL_CROSS = 169, /* CROSS */ YYSYMBOL_CSV = 170, /* CSV */ YYSYMBOL_CUBE = 171, /* CUBE */ YYSYMBOL_CURRENT_P = 172, /* CURRENT_P */ YYSYMBOL_CURRENT_CATALOG = 173, /* CURRENT_CATALOG */ YYSYMBOL_CURRENT_DATE = 174, /* CURRENT_DATE */ YYSYMBOL_CURRENT_ROLE = 175, /* CURRENT_ROLE */ YYSYMBOL_CURRENT_SCHEMA = 176, /* CURRENT_SCHEMA */ YYSYMBOL_CURRENT_TIME = 177, /* CURRENT_TIME */ YYSYMBOL_CURRENT_TIMESTAMP = 178, /* CURRENT_TIMESTAMP */ YYSYMBOL_CURRENT_USER = 179, /* CURRENT_USER */ YYSYMBOL_CURSOR = 180, /* CURSOR */ YYSYMBOL_CYCLE = 181, /* CYCLE */ YYSYMBOL_DATA_P = 182, /* DATA_P */ YYSYMBOL_DATABASE = 183, /* DATABASE */ YYSYMBOL_DAY_P = 184, /* DAY_P */ YYSYMBOL_DEALLOCATE = 185, /* DEALLOCATE */ YYSYMBOL_DEC = 186, /* DEC */ YYSYMBOL_DECIMAL_P = 187, /* DECIMAL_P */ YYSYMBOL_DECLARE = 188, /* DECLARE */ YYSYMBOL_DEFAULT = 189, /* DEFAULT */ YYSYMBOL_DEFAULTS = 190, /* DEFAULTS */ YYSYMBOL_DEFERRABLE = 191, /* DEFERRABLE */ YYSYMBOL_DEFERRED = 192, /* DEFERRED */ YYSYMBOL_DEFINER = 193, /* DEFINER */ YYSYMBOL_DELETE_P = 194, /* DELETE_P */ YYSYMBOL_DELIMITER = 195, /* DELIMITER */ YYSYMBOL_DELIMITERS = 196, /* DELIMITERS */ YYSYMBOL_DEPENDS = 197, /* DEPENDS */ YYSYMBOL_DEPTH = 198, /* DEPTH */ YYSYMBOL_DESC = 199, /* DESC */ YYSYMBOL_DETACH = 200, /* DETACH */ YYSYMBOL_DICTIONARY = 201, /* DICTIONARY */ YYSYMBOL_DISABLE_P = 202, /* DISABLE_P */ YYSYMBOL_DISCARD = 203, /* DISCARD */ YYSYMBOL_DISTINCT = 204, /* DISTINCT */ YYSYMBOL_DO = 205, /* DO */ YYSYMBOL_DOCUMENT_P = 206, /* DOCUMENT_P */ YYSYMBOL_DOMAIN_P = 207, /* DOMAIN_P */ YYSYMBOL_DOUBLE_P = 208, /* DOUBLE_P */ YYSYMBOL_DROP = 209, /* DROP */ YYSYMBOL_EACH = 210, /* EACH */ YYSYMBOL_ELSE = 211, /* ELSE */ YYSYMBOL_ENABLE_P = 212, /* ENABLE_P */ YYSYMBOL_ENCODING = 213, /* ENCODING */ YYSYMBOL_ENCRYPTED = 214, /* ENCRYPTED */ YYSYMBOL_END_P = 215, /* END_P */ YYSYMBOL_ENUM_P = 216, /* ENUM_P */ YYSYMBOL_ESCAPE = 217, /* ESCAPE */ YYSYMBOL_EVENT = 218, /* EVENT */ YYSYMBOL_EXCEPT = 219, /* EXCEPT */ YYSYMBOL_EXCLUDE = 220, /* EXCLUDE */ YYSYMBOL_EXCLUDING = 221, /* EXCLUDING */ YYSYMBOL_EXCLUSIVE = 222, /* EXCLUSIVE */ YYSYMBOL_EXECUTE = 223, /* EXECUTE */ YYSYMBOL_EXISTS = 224, /* EXISTS */ YYSYMBOL_EXPLAIN = 225, /* EXPLAIN */ YYSYMBOL_EXPRESSION = 226, /* EXPRESSION */ YYSYMBOL_EXTENSION = 227, /* EXTENSION */ YYSYMBOL_EXTERNAL = 228, /* EXTERNAL */ YYSYMBOL_EXTRACT = 229, /* EXTRACT */ YYSYMBOL_FALSE_P = 230, /* FALSE_P */ YYSYMBOL_FAMILY = 231, /* FAMILY */ YYSYMBOL_FETCH = 232, /* FETCH */ YYSYMBOL_FILTER = 233, /* FILTER */ YYSYMBOL_FINALIZE = 234, /* FINALIZE */ YYSYMBOL_FIRST_P = 235, /* FIRST_P */ YYSYMBOL_FLOAT_P = 236, /* FLOAT_P */ YYSYMBOL_FOLLOWING = 237, /* FOLLOWING */ YYSYMBOL_FOR = 238, /* FOR */ YYSYMBOL_FORCE = 239, /* FORCE */ YYSYMBOL_FOREIGN = 240, /* FOREIGN */ YYSYMBOL_FORMAT = 241, /* FORMAT */ YYSYMBOL_FORWARD = 242, /* FORWARD */ YYSYMBOL_FREEZE = 243, /* FREEZE */ YYSYMBOL_FROM = 244, /* FROM */ YYSYMBOL_FULL = 245, /* FULL */ YYSYMBOL_FUNCTION = 246, /* FUNCTION */ YYSYMBOL_FUNCTIONS = 247, /* FUNCTIONS */ YYSYMBOL_GENERATED = 248, /* GENERATED */ YYSYMBOL_GLOBAL = 249, /* GLOBAL */ YYSYMBOL_GRANT = 250, /* GRANT */ YYSYMBOL_GRANTED = 251, /* GRANTED */ YYSYMBOL_GREATEST = 252, /* GREATEST */ YYSYMBOL_GROUP_P = 253, /* GROUP_P */ YYSYMBOL_GROUPING = 254, /* GROUPING */ YYSYMBOL_GROUPS = 255, /* GROUPS */ YYSYMBOL_HANDLER = 256, /* HANDLER */ YYSYMBOL_HAVING = 257, /* HAVING */ YYSYMBOL_HEADER_P = 258, /* HEADER_P */ YYSYMBOL_HOLD = 259, /* HOLD */ YYSYMBOL_HOUR_P = 260, /* HOUR_P */ YYSYMBOL_IDENTITY_P = 261, /* IDENTITY_P */ YYSYMBOL_IF_P = 262, /* IF_P */ YYSYMBOL_ILIKE = 263, /* ILIKE */ YYSYMBOL_IMMEDIATE = 264, /* IMMEDIATE */ YYSYMBOL_IMMUTABLE = 265, /* IMMUTABLE */ YYSYMBOL_IMPLICIT_P = 266, /* IMPLICIT_P */ YYSYMBOL_IMPORT_P = 267, /* IMPORT_P */ YYSYMBOL_IN_P = 268, /* IN_P */ YYSYMBOL_INCLUDE = 269, /* INCLUDE */ YYSYMBOL_INCLUDING = 270, /* INCLUDING */ YYSYMBOL_INCREMENT = 271, /* INCREMENT */ YYSYMBOL_INDENT = 272, /* INDENT */ YYSYMBOL_INDEX = 273, /* INDEX */ YYSYMBOL_INDEXES = 274, /* INDEXES */ YYSYMBOL_INHERIT = 275, /* INHERIT */ YYSYMBOL_INHERITS = 276, /* INHERITS */ YYSYMBOL_INITIALLY = 277, /* INITIALLY */ YYSYMBOL_INLINE_P = 278, /* INLINE_P */ YYSYMBOL_INNER_P = 279, /* INNER_P */ YYSYMBOL_INOUT = 280, /* INOUT */ YYSYMBOL_INPUT_P = 281, /* INPUT_P */ YYSYMBOL_INSENSITIVE = 282, /* INSENSITIVE */ YYSYMBOL_INSERT = 283, /* INSERT */ YYSYMBOL_INSTEAD = 284, /* INSTEAD */ YYSYMBOL_INT_P = 285, /* INT_P */ YYSYMBOL_INTEGER = 286, /* INTEGER */ YYSYMBOL_INTERSECT = 287, /* INTERSECT */ YYSYMBOL_INTERVAL = 288, /* INTERVAL */ YYSYMBOL_INTO = 289, /* INTO */ YYSYMBOL_INVOKER = 290, /* INVOKER */ YYSYMBOL_IS = 291, /* IS */ YYSYMBOL_ISNULL = 292, /* ISNULL */ YYSYMBOL_ISOLATION = 293, /* ISOLATION */ YYSYMBOL_JOIN = 294, /* JOIN */ YYSYMBOL_JSON = 295, /* JSON */ YYSYMBOL_JSON_ARRAY = 296, /* JSON_ARRAY */ YYSYMBOL_JSON_ARRAYAGG = 297, /* JSON_ARRAYAGG */ YYSYMBOL_JSON_OBJECT = 298, /* JSON_OBJECT */ YYSYMBOL_JSON_OBJECTAGG = 299, /* JSON_OBJECTAGG */ YYSYMBOL_KEY = 300, /* KEY */ YYSYMBOL_KEYS = 301, /* KEYS */ YYSYMBOL_LABEL = 302, /* LABEL */ YYSYMBOL_LANGUAGE = 303, /* LANGUAGE */ YYSYMBOL_LARGE_P = 304, /* LARGE_P */ YYSYMBOL_LAST_P = 305, /* LAST_P */ YYSYMBOL_LATERAL_P = 306, /* LATERAL_P */ YYSYMBOL_LEADING = 307, /* LEADING */ YYSYMBOL_LEAKPROOF = 308, /* LEAKPROOF */ YYSYMBOL_LEAST = 309, /* LEAST */ YYSYMBOL_LEFT = 310, /* LEFT */ YYSYMBOL_LEVEL = 311, /* LEVEL */ YYSYMBOL_LIKE = 312, /* LIKE */ YYSYMBOL_LIMIT = 313, /* LIMIT */ YYSYMBOL_LISTEN = 314, /* LISTEN */ YYSYMBOL_LOAD = 315, /* LOAD */ YYSYMBOL_LOCAL = 316, /* LOCAL */ YYSYMBOL_LOCALTIME = 317, /* LOCALTIME */ YYSYMBOL_LOCALTIMESTAMP = 318, /* LOCALTIMESTAMP */ YYSYMBOL_LOCATION = 319, /* LOCATION */ YYSYMBOL_LOCK_P = 320, /* LOCK_P */ YYSYMBOL_LOCKED = 321, /* LOCKED */ YYSYMBOL_LOGGED = 322, /* LOGGED */ YYSYMBOL_MAPPING = 323, /* MAPPING */ YYSYMBOL_MATCH = 324, /* MATCH */ YYSYMBOL_MATCHED = 325, /* MATCHED */ YYSYMBOL_MATERIALIZED = 326, /* MATERIALIZED */ YYSYMBOL_MAXVALUE = 327, /* MAXVALUE */ YYSYMBOL_MERGE = 328, /* MERGE */ YYSYMBOL_METHOD = 329, /* METHOD */ YYSYMBOL_MINUTE_P = 330, /* MINUTE_P */ YYSYMBOL_MINVALUE = 331, /* MINVALUE */ YYSYMBOL_MODE = 332, /* MODE */ YYSYMBOL_MONTH_P = 333, /* MONTH_P */ YYSYMBOL_MOVE = 334, /* MOVE */ YYSYMBOL_NAME_P = 335, /* NAME_P */ YYSYMBOL_NAMES = 336, /* NAMES */ YYSYMBOL_NATIONAL = 337, /* NATIONAL */ YYSYMBOL_NATURAL = 338, /* NATURAL */ YYSYMBOL_NCHAR = 339, /* NCHAR */ YYSYMBOL_NEW = 340, /* NEW */ YYSYMBOL_NEXT = 341, /* NEXT */ YYSYMBOL_NFC = 342, /* NFC */ YYSYMBOL_NFD = 343, /* NFD */ YYSYMBOL_NFKC = 344, /* NFKC */ YYSYMBOL_NFKD = 345, /* NFKD */ YYSYMBOL_NO = 346, /* NO */ YYSYMBOL_NONE = 347, /* NONE */ YYSYMBOL_NORMALIZE = 348, /* NORMALIZE */ YYSYMBOL_NORMALIZED = 349, /* NORMALIZED */ YYSYMBOL_NOT = 350, /* NOT */ YYSYMBOL_NOTHING = 351, /* NOTHING */ YYSYMBOL_NOTIFY = 352, /* NOTIFY */ YYSYMBOL_NOTNULL = 353, /* NOTNULL */ YYSYMBOL_NOWAIT = 354, /* NOWAIT */ YYSYMBOL_NULL_P = 355, /* NULL_P */ YYSYMBOL_NULLIF = 356, /* NULLIF */ YYSYMBOL_NULLS_P = 357, /* NULLS_P */ YYSYMBOL_NUMERIC = 358, /* NUMERIC */ YYSYMBOL_OBJECT_P = 359, /* OBJECT_P */ YYSYMBOL_OF = 360, /* OF */ YYSYMBOL_OFF = 361, /* OFF */ YYSYMBOL_OFFSET = 362, /* OFFSET */ YYSYMBOL_OIDS = 363, /* OIDS */ YYSYMBOL_OLD = 364, /* OLD */ YYSYMBOL_ON = 365, /* ON */ YYSYMBOL_ONLY = 366, /* ONLY */ YYSYMBOL_OPERATOR = 367, /* OPERATOR */ YYSYMBOL_OPTION = 368, /* OPTION */ YYSYMBOL_OPTIONS = 369, /* OPTIONS */ YYSYMBOL_OR = 370, /* OR */ YYSYMBOL_ORDER = 371, /* ORDER */ YYSYMBOL_ORDINALITY = 372, /* ORDINALITY */ YYSYMBOL_OTHERS = 373, /* OTHERS */ YYSYMBOL_OUT_P = 374, /* OUT_P */ YYSYMBOL_OUTER_P = 375, /* OUTER_P */ YYSYMBOL_OVER = 376, /* OVER */ YYSYMBOL_OVERLAPS = 377, /* OVERLAPS */ YYSYMBOL_OVERLAY = 378, /* OVERLAY */ YYSYMBOL_OVERRIDING = 379, /* OVERRIDING */ YYSYMBOL_OWNED = 380, /* OWNED */ YYSYMBOL_OWNER = 381, /* OWNER */ YYSYMBOL_PARALLEL = 382, /* PARALLEL */ YYSYMBOL_PARAMETER = 383, /* PARAMETER */ YYSYMBOL_PARSER = 384, /* PARSER */ YYSYMBOL_PARTIAL = 385, /* PARTIAL */ YYSYMBOL_PARTITION = 386, /* PARTITION */ YYSYMBOL_PASSING = 387, /* PASSING */ YYSYMBOL_PASSWORD = 388, /* PASSWORD */ YYSYMBOL_PLACING = 389, /* PLACING */ YYSYMBOL_PLANS = 390, /* PLANS */ YYSYMBOL_POLICY = 391, /* POLICY */ YYSYMBOL_POSITION = 392, /* POSITION */ YYSYMBOL_PRECEDING = 393, /* PRECEDING */ YYSYMBOL_PRECISION = 394, /* PRECISION */ YYSYMBOL_PRESERVE = 395, /* PRESERVE */ YYSYMBOL_PREPARE = 396, /* PREPARE */ YYSYMBOL_PREPARED = 397, /* PREPARED */ YYSYMBOL_PRIMARY = 398, /* PRIMARY */ YYSYMBOL_PRIOR = 399, /* PRIOR */ YYSYMBOL_PRIVILEGES = 400, /* PRIVILEGES */ YYSYMBOL_PROCEDURAL = 401, /* PROCEDURAL */ YYSYMBOL_PROCEDURE = 402, /* PROCEDURE */ YYSYMBOL_PROCEDURES = 403, /* PROCEDURES */ YYSYMBOL_PROGRAM = 404, /* PROGRAM */ YYSYMBOL_PUBLICATION = 405, /* PUBLICATION */ YYSYMBOL_QUOTE = 406, /* QUOTE */ YYSYMBOL_RANGE = 407, /* RANGE */ YYSYMBOL_READ = 408, /* READ */ YYSYMBOL_REAL = 409, /* REAL */ YYSYMBOL_REASSIGN = 410, /* REASSIGN */ YYSYMBOL_RECHECK = 411, /* RECHECK */ YYSYMBOL_RECURSIVE = 412, /* RECURSIVE */ YYSYMBOL_REF_P = 413, /* REF_P */ YYSYMBOL_REFERENCES = 414, /* REFERENCES */ YYSYMBOL_REFERENCING = 415, /* REFERENCING */ YYSYMBOL_REFRESH = 416, /* REFRESH */ YYSYMBOL_REINDEX = 417, /* REINDEX */ YYSYMBOL_RELATIVE_P = 418, /* RELATIVE_P */ YYSYMBOL_RELEASE = 419, /* RELEASE */ YYSYMBOL_RENAME = 420, /* RENAME */ YYSYMBOL_REPEATABLE = 421, /* REPEATABLE */ YYSYMBOL_REPLACE = 422, /* REPLACE */ YYSYMBOL_REPLICA = 423, /* REPLICA */ YYSYMBOL_RESET = 424, /* RESET */ YYSYMBOL_RESTART = 425, /* RESTART */ YYSYMBOL_RESTRICT = 426, /* RESTRICT */ YYSYMBOL_RETURN = 427, /* RETURN */ YYSYMBOL_RETURNING = 428, /* RETURNING */ YYSYMBOL_RETURNS = 429, /* RETURNS */ YYSYMBOL_REVOKE = 430, /* REVOKE */ YYSYMBOL_RIGHT = 431, /* RIGHT */ YYSYMBOL_ROLE = 432, /* ROLE */ YYSYMBOL_ROLLBACK = 433, /* ROLLBACK */ YYSYMBOL_ROLLUP = 434, /* ROLLUP */ YYSYMBOL_ROUTINE = 435, /* ROUTINE */ YYSYMBOL_ROUTINES = 436, /* ROUTINES */ YYSYMBOL_ROW = 437, /* ROW */ YYSYMBOL_ROWS = 438, /* ROWS */ YYSYMBOL_RULE = 439, /* RULE */ YYSYMBOL_SAVEPOINT = 440, /* SAVEPOINT */ YYSYMBOL_SCALAR = 441, /* SCALAR */ YYSYMBOL_SCHEMA = 442, /* SCHEMA */ YYSYMBOL_SCHEMAS = 443, /* SCHEMAS */ YYSYMBOL_SCROLL = 444, /* SCROLL */ YYSYMBOL_SEARCH = 445, /* SEARCH */ YYSYMBOL_SECOND_P = 446, /* SECOND_P */ YYSYMBOL_SECURITY = 447, /* SECURITY */ YYSYMBOL_SELECT = 448, /* SELECT */ YYSYMBOL_SEQUENCE = 449, /* SEQUENCE */ YYSYMBOL_SEQUENCES = 450, /* SEQUENCES */ YYSYMBOL_SERIALIZABLE = 451, /* SERIALIZABLE */ YYSYMBOL_SERVER = 452, /* SERVER */ YYSYMBOL_SESSION = 453, /* SESSION */ YYSYMBOL_SESSION_USER = 454, /* SESSION_USER */ YYSYMBOL_SET = 455, /* SET */ YYSYMBOL_SETS = 456, /* SETS */ YYSYMBOL_SETOF = 457, /* SETOF */ YYSYMBOL_SHARE = 458, /* SHARE */ YYSYMBOL_SHOW = 459, /* SHOW */ YYSYMBOL_SIMILAR = 460, /* SIMILAR */ YYSYMBOL_SIMPLE = 461, /* SIMPLE */ YYSYMBOL_SKIP = 462, /* SKIP */ YYSYMBOL_SMALLINT = 463, /* SMALLINT */ YYSYMBOL_SNAPSHOT = 464, /* SNAPSHOT */ YYSYMBOL_SOME = 465, /* SOME */ YYSYMBOL_SQL_P = 466, /* SQL_P */ YYSYMBOL_STABLE = 467, /* STABLE */ YYSYMBOL_STANDALONE_P = 468, /* STANDALONE_P */ YYSYMBOL_START = 469, /* START */ YYSYMBOL_STATEMENT = 470, /* STATEMENT */ YYSYMBOL_STATISTICS = 471, /* STATISTICS */ YYSYMBOL_STDIN = 472, /* STDIN */ YYSYMBOL_STDOUT = 473, /* STDOUT */ YYSYMBOL_STORAGE = 474, /* STORAGE */ YYSYMBOL_STORED = 475, /* STORED */ YYSYMBOL_STRICT_P = 476, /* STRICT_P */ YYSYMBOL_STRIP_P = 477, /* STRIP_P */ YYSYMBOL_SUBSCRIPTION = 478, /* SUBSCRIPTION */ YYSYMBOL_SUBSTRING = 479, /* SUBSTRING */ YYSYMBOL_SUPPORT = 480, /* SUPPORT */ YYSYMBOL_SYMMETRIC = 481, /* SYMMETRIC */ YYSYMBOL_SYSID = 482, /* SYSID */ YYSYMBOL_SYSTEM_P = 483, /* SYSTEM_P */ YYSYMBOL_SYSTEM_USER = 484, /* SYSTEM_USER */ YYSYMBOL_TABLE = 485, /* TABLE */ YYSYMBOL_TABLES = 486, /* TABLES */ YYSYMBOL_TABLESAMPLE = 487, /* TABLESAMPLE */ YYSYMBOL_TABLESPACE = 488, /* TABLESPACE */ YYSYMBOL_TEMP = 489, /* TEMP */ YYSYMBOL_TEMPLATE = 490, /* TEMPLATE */ YYSYMBOL_TEMPORARY = 491, /* TEMPORARY */ YYSYMBOL_TEXT_P = 492, /* TEXT_P */ YYSYMBOL_THEN = 493, /* THEN */ YYSYMBOL_TIES = 494, /* TIES */ YYSYMBOL_TIME = 495, /* TIME */ YYSYMBOL_TIMESTAMP = 496, /* TIMESTAMP */ YYSYMBOL_TO = 497, /* TO */ YYSYMBOL_TRAILING = 498, /* TRAILING */ YYSYMBOL_TRANSACTION = 499, /* TRANSACTION */ YYSYMBOL_TRANSFORM = 500, /* TRANSFORM */ YYSYMBOL_TREAT = 501, /* TREAT */ YYSYMBOL_TRIGGER = 502, /* TRIGGER */ YYSYMBOL_TRIM = 503, /* TRIM */ YYSYMBOL_TRUE_P = 504, /* TRUE_P */ YYSYMBOL_TRUNCATE = 505, /* TRUNCATE */ YYSYMBOL_TRUSTED = 506, /* TRUSTED */ YYSYMBOL_TYPE_P = 507, /* TYPE_P */ YYSYMBOL_TYPES_P = 508, /* TYPES_P */ YYSYMBOL_UESCAPE = 509, /* UESCAPE */ YYSYMBOL_UNBOUNDED = 510, /* UNBOUNDED */ YYSYMBOL_UNCOMMITTED = 511, /* UNCOMMITTED */ YYSYMBOL_UNENCRYPTED = 512, /* UNENCRYPTED */ YYSYMBOL_UNION = 513, /* UNION */ YYSYMBOL_UNIQUE = 514, /* UNIQUE */ YYSYMBOL_UNKNOWN = 515, /* UNKNOWN */ YYSYMBOL_UNLISTEN = 516, /* UNLISTEN */ YYSYMBOL_UNLOGGED = 517, /* UNLOGGED */ YYSYMBOL_UNTIL = 518, /* UNTIL */ YYSYMBOL_UPDATE = 519, /* UPDATE */ YYSYMBOL_USER = 520, /* USER */ YYSYMBOL_USING = 521, /* USING */ YYSYMBOL_VACUUM = 522, /* VACUUM */ YYSYMBOL_VALID = 523, /* VALID */ YYSYMBOL_VALIDATE = 524, /* VALIDATE */ YYSYMBOL_VALIDATOR = 525, /* VALIDATOR */ YYSYMBOL_VALUE_P = 526, /* VALUE_P */ YYSYMBOL_VALUES = 527, /* VALUES */ YYSYMBOL_VARCHAR = 528, /* VARCHAR */ YYSYMBOL_VARIADIC = 529, /* VARIADIC */ YYSYMBOL_VARYING = 530, /* VARYING */ YYSYMBOL_VERBOSE = 531, /* VERBOSE */ YYSYMBOL_VERSION_P = 532, /* VERSION_P */ YYSYMBOL_VIEW = 533, /* VIEW */ YYSYMBOL_VIEWS = 534, /* VIEWS */ YYSYMBOL_VOLATILE = 535, /* VOLATILE */ YYSYMBOL_WHEN = 536, /* WHEN */ YYSYMBOL_WHERE = 537, /* WHERE */ YYSYMBOL_WHITESPACE_P = 538, /* WHITESPACE_P */ YYSYMBOL_WINDOW = 539, /* WINDOW */ YYSYMBOL_WITH = 540, /* WITH */ YYSYMBOL_WITHIN = 541, /* WITHIN */ YYSYMBOL_WITHOUT = 542, /* WITHOUT */ YYSYMBOL_WORK = 543, /* WORK */ YYSYMBOL_WRAPPER = 544, /* WRAPPER */ YYSYMBOL_WRITE = 545, /* WRITE */ YYSYMBOL_XML_P = 546, /* XML_P */ YYSYMBOL_XMLATTRIBUTES = 547, /* XMLATTRIBUTES */ YYSYMBOL_XMLCONCAT = 548, /* XMLCONCAT */ YYSYMBOL_XMLELEMENT = 549, /* XMLELEMENT */ YYSYMBOL_XMLEXISTS = 550, /* XMLEXISTS */ YYSYMBOL_XMLFOREST = 551, /* XMLFOREST */ YYSYMBOL_XMLNAMESPACES = 552, /* XMLNAMESPACES */ YYSYMBOL_XMLPARSE = 553, /* XMLPARSE */ YYSYMBOL_XMLPI = 554, /* XMLPI */ YYSYMBOL_XMLROOT = 555, /* XMLROOT */ YYSYMBOL_XMLSERIALIZE = 556, /* XMLSERIALIZE */ YYSYMBOL_XMLTABLE = 557, /* XMLTABLE */ YYSYMBOL_YEAR_P = 558, /* YEAR_P */ YYSYMBOL_YES_P = 559, /* YES_P */ YYSYMBOL_ZONE = 560, /* ZONE */ YYSYMBOL_FORMAT_LA = 561, /* FORMAT_LA */ YYSYMBOL_NOT_LA = 562, /* NOT_LA */ YYSYMBOL_NULLS_LA = 563, /* NULLS_LA */ YYSYMBOL_WITH_LA = 564, /* WITH_LA */ YYSYMBOL_WITHOUT_LA = 565, /* WITHOUT_LA */ YYSYMBOL_MODE_TYPE_NAME = 566, /* MODE_TYPE_NAME */ YYSYMBOL_MODE_PLPGSQL_EXPR = 567, /* MODE_PLPGSQL_EXPR */ YYSYMBOL_MODE_PLPGSQL_ASSIGN1 = 568, /* MODE_PLPGSQL_ASSIGN1 */ YYSYMBOL_MODE_PLPGSQL_ASSIGN2 = 569, /* MODE_PLPGSQL_ASSIGN2 */ YYSYMBOL_MODE_PLPGSQL_ASSIGN3 = 570, /* MODE_PLPGSQL_ASSIGN3 */ YYSYMBOL_571_ = 571, /* '<' */ YYSYMBOL_572_ = 572, /* '>' */ YYSYMBOL_573_ = 573, /* '=' */ YYSYMBOL_574_ = 574, /* '+' */ YYSYMBOL_575_ = 575, /* '-' */ YYSYMBOL_576_ = 576, /* '*' */ YYSYMBOL_577_ = 577, /* '/' */ YYSYMBOL_578_ = 578, /* '%' */ YYSYMBOL_579_ = 579, /* '^' */ YYSYMBOL_UMINUS = 580, /* UMINUS */ YYSYMBOL_581_ = 581, /* '[' */ YYSYMBOL_582_ = 582, /* ']' */ YYSYMBOL_583_ = 583, /* '(' */ YYSYMBOL_584_ = 584, /* ')' */ YYSYMBOL_585_ = 585, /* '.' */ YYSYMBOL_586_ = 586, /* ',' */ YYSYMBOL_587_ = 587, /* ';' */ YYSYMBOL_588_ = 588, /* ':' */ YYSYMBOL_589_ = 589, /* '{' */ YYSYMBOL_590_ = 590, /* '}' */ YYSYMBOL_YYACCEPT = 591, /* $accept */ YYSYMBOL_prog = 592, /* prog */ YYSYMBOL_toplevel_stmt = 593, /* toplevel_stmt */ YYSYMBOL_stmt = 594, /* stmt */ YYSYMBOL_opt_single_name = 595, /* opt_single_name */ YYSYMBOL_opt_qualified_name = 596, /* opt_qualified_name */ YYSYMBOL_opt_concurrently = 597, /* opt_concurrently */ YYSYMBOL_opt_drop_behavior = 598, /* opt_drop_behavior */ YYSYMBOL_CallStmt = 599, /* CallStmt */ YYSYMBOL_CreateRoleStmt = 600, /* CreateRoleStmt */ YYSYMBOL_opt_with = 601, /* opt_with */ YYSYMBOL_OptRoleList = 602, /* OptRoleList */ YYSYMBOL_AlterOptRoleList = 603, /* AlterOptRoleList */ YYSYMBOL_AlterOptRoleElem = 604, /* AlterOptRoleElem */ YYSYMBOL_CreateOptRoleElem = 605, /* CreateOptRoleElem */ YYSYMBOL_CreateUserStmt = 606, /* CreateUserStmt */ YYSYMBOL_AlterRoleStmt = 607, /* AlterRoleStmt */ YYSYMBOL_opt_in_database = 608, /* opt_in_database */ YYSYMBOL_AlterRoleSetStmt = 609, /* AlterRoleSetStmt */ YYSYMBOL_DropRoleStmt = 610, /* DropRoleStmt */ YYSYMBOL_CreateGroupStmt = 611, /* CreateGroupStmt */ YYSYMBOL_AlterGroupStmt = 612, /* AlterGroupStmt */ YYSYMBOL_add_drop = 613, /* add_drop */ YYSYMBOL_CreateSchemaStmt = 614, /* CreateSchemaStmt */ YYSYMBOL_OptSchemaEltList = 615, /* OptSchemaEltList */ YYSYMBOL_schema_stmt = 616, /* schema_stmt */ YYSYMBOL_VariableSetStmt = 617, /* VariableSetStmt */ YYSYMBOL_set_rest = 618, /* set_rest */ YYSYMBOL_generic_set = 619, /* generic_set */ YYSYMBOL_set_rest_more = 620, /* set_rest_more */ YYSYMBOL_var_name = 621, /* var_name */ YYSYMBOL_var_list = 622, /* var_list */ YYSYMBOL_var_value = 623, /* var_value */ YYSYMBOL_iso_level = 624, /* iso_level */ YYSYMBOL_opt_boolean_or_string = 625, /* opt_boolean_or_string */ YYSYMBOL_zone_value = 626, /* zone_value */ YYSYMBOL_opt_encoding = 627, /* opt_encoding */ YYSYMBOL_NonReservedWord_or_Sconst = 628, /* NonReservedWord_or_Sconst */ YYSYMBOL_VariableResetStmt = 629, /* VariableResetStmt */ YYSYMBOL_reset_rest = 630, /* reset_rest */ YYSYMBOL_generic_reset = 631, /* generic_reset */ YYSYMBOL_SetResetClause = 632, /* SetResetClause */ YYSYMBOL_FunctionSetResetClause = 633, /* FunctionSetResetClause */ YYSYMBOL_VariableShowStmt = 634, /* VariableShowStmt */ YYSYMBOL_ConstraintsSetStmt = 635, /* ConstraintsSetStmt */ YYSYMBOL_constraints_set_list = 636, /* constraints_set_list */ YYSYMBOL_constraints_set_mode = 637, /* constraints_set_mode */ YYSYMBOL_CheckPointStmt = 638, /* CheckPointStmt */ YYSYMBOL_DiscardStmt = 639, /* DiscardStmt */ YYSYMBOL_AlterTableStmt = 640, /* AlterTableStmt */ YYSYMBOL_alter_table_cmds = 641, /* alter_table_cmds */ YYSYMBOL_partition_cmd = 642, /* partition_cmd */ YYSYMBOL_index_partition_cmd = 643, /* index_partition_cmd */ YYSYMBOL_alter_table_cmd = 644, /* alter_table_cmd */ YYSYMBOL_alter_column_default = 645, /* alter_column_default */ YYSYMBOL_opt_collate_clause = 646, /* opt_collate_clause */ YYSYMBOL_alter_using = 647, /* alter_using */ YYSYMBOL_replica_identity = 648, /* replica_identity */ YYSYMBOL_reloptions = 649, /* reloptions */ YYSYMBOL_opt_reloptions = 650, /* opt_reloptions */ YYSYMBOL_reloption_list = 651, /* reloption_list */ YYSYMBOL_reloption_elem = 652, /* reloption_elem */ YYSYMBOL_alter_identity_column_option_list = 653, /* alter_identity_column_option_list */ YYSYMBOL_alter_identity_column_option = 654, /* alter_identity_column_option */ YYSYMBOL_PartitionBoundSpec = 655, /* PartitionBoundSpec */ YYSYMBOL_hash_partbound_elem = 656, /* hash_partbound_elem */ YYSYMBOL_hash_partbound = 657, /* hash_partbound */ YYSYMBOL_AlterCompositeTypeStmt = 658, /* AlterCompositeTypeStmt */ YYSYMBOL_alter_type_cmds = 659, /* alter_type_cmds */ YYSYMBOL_alter_type_cmd = 660, /* alter_type_cmd */ YYSYMBOL_ClosePortalStmt = 661, /* ClosePortalStmt */ YYSYMBOL_CopyStmt = 662, /* CopyStmt */ YYSYMBOL_copy_from = 663, /* copy_from */ YYSYMBOL_opt_program = 664, /* opt_program */ YYSYMBOL_copy_file_name = 665, /* copy_file_name */ YYSYMBOL_copy_options = 666, /* copy_options */ YYSYMBOL_copy_opt_list = 667, /* copy_opt_list */ YYSYMBOL_copy_opt_item = 668, /* copy_opt_item */ YYSYMBOL_opt_binary = 669, /* opt_binary */ YYSYMBOL_copy_delimiter = 670, /* copy_delimiter */ YYSYMBOL_opt_using = 671, /* opt_using */ YYSYMBOL_copy_generic_opt_list = 672, /* copy_generic_opt_list */ YYSYMBOL_copy_generic_opt_elem = 673, /* copy_generic_opt_elem */ YYSYMBOL_copy_generic_opt_arg = 674, /* copy_generic_opt_arg */ YYSYMBOL_copy_generic_opt_arg_list = 675, /* copy_generic_opt_arg_list */ YYSYMBOL_copy_generic_opt_arg_list_item = 676, /* copy_generic_opt_arg_list_item */ YYSYMBOL_CreateStmt = 677, /* CreateStmt */ YYSYMBOL_OptTemp = 678, /* OptTemp */ YYSYMBOL_OptTableElementList = 679, /* OptTableElementList */ YYSYMBOL_OptTypedTableElementList = 680, /* OptTypedTableElementList */ YYSYMBOL_TableElementList = 681, /* TableElementList */ YYSYMBOL_TypedTableElementList = 682, /* TypedTableElementList */ YYSYMBOL_TableElement = 683, /* TableElement */ YYSYMBOL_TypedTableElement = 684, /* TypedTableElement */ YYSYMBOL_columnDef = 685, /* columnDef */ YYSYMBOL_columnOptions = 686, /* columnOptions */ YYSYMBOL_column_compression = 687, /* column_compression */ YYSYMBOL_opt_column_compression = 688, /* opt_column_compression */ YYSYMBOL_column_storage = 689, /* column_storage */ YYSYMBOL_opt_column_storage = 690, /* opt_column_storage */ YYSYMBOL_ColQualList = 691, /* ColQualList */ YYSYMBOL_ColConstraint = 692, /* ColConstraint */ YYSYMBOL_ColConstraintElem = 693, /* ColConstraintElem */ YYSYMBOL_opt_unique_null_treatment = 694, /* opt_unique_null_treatment */ YYSYMBOL_generated_when = 695, /* generated_when */ YYSYMBOL_ConstraintAttr = 696, /* ConstraintAttr */ YYSYMBOL_TableLikeClause = 697, /* TableLikeClause */ YYSYMBOL_TableLikeOptionList = 698, /* TableLikeOptionList */ YYSYMBOL_TableLikeOption = 699, /* TableLikeOption */ YYSYMBOL_TableConstraint = 700, /* TableConstraint */ YYSYMBOL_ConstraintElem = 701, /* ConstraintElem */ YYSYMBOL_opt_no_inherit = 702, /* opt_no_inherit */ YYSYMBOL_opt_column_list = 703, /* opt_column_list */ YYSYMBOL_columnList = 704, /* columnList */ YYSYMBOL_columnElem = 705, /* columnElem */ YYSYMBOL_opt_c_include = 706, /* opt_c_include */ YYSYMBOL_key_match = 707, /* key_match */ YYSYMBOL_ExclusionConstraintList = 708, /* ExclusionConstraintList */ YYSYMBOL_ExclusionConstraintElem = 709, /* ExclusionConstraintElem */ YYSYMBOL_OptWhereClause = 710, /* OptWhereClause */ YYSYMBOL_key_actions = 711, /* key_actions */ YYSYMBOL_key_update = 712, /* key_update */ YYSYMBOL_key_delete = 713, /* key_delete */ YYSYMBOL_key_action = 714, /* key_action */ YYSYMBOL_OptInherit = 715, /* OptInherit */ YYSYMBOL_OptPartitionSpec = 716, /* OptPartitionSpec */ YYSYMBOL_PartitionSpec = 717, /* PartitionSpec */ YYSYMBOL_part_params = 718, /* part_params */ YYSYMBOL_part_elem = 719, /* part_elem */ YYSYMBOL_table_access_method_clause = 720, /* table_access_method_clause */ YYSYMBOL_OptWith = 721, /* OptWith */ YYSYMBOL_OnCommitOption = 722, /* OnCommitOption */ YYSYMBOL_OptTableSpace = 723, /* OptTableSpace */ YYSYMBOL_OptConsTableSpace = 724, /* OptConsTableSpace */ YYSYMBOL_ExistingIndex = 725, /* ExistingIndex */ YYSYMBOL_CreateStatsStmt = 726, /* CreateStatsStmt */ YYSYMBOL_stats_params = 727, /* stats_params */ YYSYMBOL_stats_param = 728, /* stats_param */ YYSYMBOL_AlterStatsStmt = 729, /* AlterStatsStmt */ YYSYMBOL_create_as_target = 730, /* create_as_target */ YYSYMBOL_opt_with_data = 731, /* opt_with_data */ YYSYMBOL_CreateMatViewStmt = 732, /* CreateMatViewStmt */ YYSYMBOL_create_mv_target = 733, /* create_mv_target */ YYSYMBOL_OptNoLog = 734, /* OptNoLog */ YYSYMBOL_RefreshMatViewStmt = 735, /* RefreshMatViewStmt */ YYSYMBOL_CreateSeqStmt = 736, /* CreateSeqStmt */ YYSYMBOL_AlterSeqStmt = 737, /* AlterSeqStmt */ YYSYMBOL_OptSeqOptList = 738, /* OptSeqOptList */ YYSYMBOL_OptParenthesizedSeqOptList = 739, /* OptParenthesizedSeqOptList */ YYSYMBOL_SeqOptList = 740, /* SeqOptList */ YYSYMBOL_SeqOptElem = 741, /* SeqOptElem */ YYSYMBOL_opt_by = 742, /* opt_by */ YYSYMBOL_NumericOnly = 743, /* NumericOnly */ YYSYMBOL_NumericOnly_list = 744, /* NumericOnly_list */ YYSYMBOL_CreatePLangStmt = 745, /* CreatePLangStmt */ YYSYMBOL_opt_trusted = 746, /* opt_trusted */ YYSYMBOL_handler_name = 747, /* handler_name */ YYSYMBOL_opt_inline_handler = 748, /* opt_inline_handler */ YYSYMBOL_validator_clause = 749, /* validator_clause */ YYSYMBOL_opt_validator = 750, /* opt_validator */ YYSYMBOL_opt_procedural = 751, /* opt_procedural */ YYSYMBOL_CreateTableSpaceStmt = 752, /* CreateTableSpaceStmt */ YYSYMBOL_OptTableSpaceOwner = 753, /* OptTableSpaceOwner */ YYSYMBOL_DropTableSpaceStmt = 754, /* DropTableSpaceStmt */ YYSYMBOL_CreateExtensionStmt = 755, /* CreateExtensionStmt */ YYSYMBOL_create_extension_opt_list = 756, /* create_extension_opt_list */ YYSYMBOL_create_extension_opt_item = 757, /* create_extension_opt_item */ YYSYMBOL_AlterExtensionStmt = 758, /* AlterExtensionStmt */ YYSYMBOL_alter_extension_opt_list = 759, /* alter_extension_opt_list */ YYSYMBOL_alter_extension_opt_item = 760, /* alter_extension_opt_item */ YYSYMBOL_AlterExtensionContentsStmt = 761, /* AlterExtensionContentsStmt */ YYSYMBOL_CreateFdwStmt = 762, /* CreateFdwStmt */ YYSYMBOL_fdw_option = 763, /* fdw_option */ YYSYMBOL_fdw_options = 764, /* fdw_options */ YYSYMBOL_opt_fdw_options = 765, /* opt_fdw_options */ YYSYMBOL_AlterFdwStmt = 766, /* AlterFdwStmt */ YYSYMBOL_create_generic_options = 767, /* create_generic_options */ YYSYMBOL_generic_option_list = 768, /* generic_option_list */ YYSYMBOL_alter_generic_options = 769, /* alter_generic_options */ YYSYMBOL_alter_generic_option_list = 770, /* alter_generic_option_list */ YYSYMBOL_alter_generic_option_elem = 771, /* alter_generic_option_elem */ YYSYMBOL_generic_option_elem = 772, /* generic_option_elem */ YYSYMBOL_generic_option_name = 773, /* generic_option_name */ YYSYMBOL_generic_option_arg = 774, /* generic_option_arg */ YYSYMBOL_CreateForeignServerStmt = 775, /* CreateForeignServerStmt */ YYSYMBOL_opt_type = 776, /* opt_type */ YYSYMBOL_foreign_server_version = 777, /* foreign_server_version */ YYSYMBOL_opt_foreign_server_version = 778, /* opt_foreign_server_version */ YYSYMBOL_AlterForeignServerStmt = 779, /* AlterForeignServerStmt */ YYSYMBOL_CreateForeignTableStmt = 780, /* CreateForeignTableStmt */ YYSYMBOL_ImportForeignSchemaStmt = 781, /* ImportForeignSchemaStmt */ YYSYMBOL_import_qualification_type = 782, /* import_qualification_type */ YYSYMBOL_import_qualification = 783, /* import_qualification */ YYSYMBOL_CreateUserMappingStmt = 784, /* CreateUserMappingStmt */ YYSYMBOL_auth_ident = 785, /* auth_ident */ YYSYMBOL_DropUserMappingStmt = 786, /* DropUserMappingStmt */ YYSYMBOL_AlterUserMappingStmt = 787, /* AlterUserMappingStmt */ YYSYMBOL_CreatePolicyStmt = 788, /* CreatePolicyStmt */ YYSYMBOL_AlterPolicyStmt = 789, /* AlterPolicyStmt */ YYSYMBOL_RowSecurityOptionalExpr = 790, /* RowSecurityOptionalExpr */ YYSYMBOL_RowSecurityOptionalWithCheck = 791, /* RowSecurityOptionalWithCheck */ YYSYMBOL_RowSecurityDefaultToRole = 792, /* RowSecurityDefaultToRole */ YYSYMBOL_RowSecurityOptionalToRole = 793, /* RowSecurityOptionalToRole */ YYSYMBOL_RowSecurityDefaultPermissive = 794, /* RowSecurityDefaultPermissive */ YYSYMBOL_RowSecurityDefaultForCmd = 795, /* RowSecurityDefaultForCmd */ YYSYMBOL_row_security_cmd = 796, /* row_security_cmd */ YYSYMBOL_CreateAmStmt = 797, /* CreateAmStmt */ YYSYMBOL_am_type = 798, /* am_type */ YYSYMBOL_CreateTrigStmt = 799, /* CreateTrigStmt */ YYSYMBOL_TriggerActionTime = 800, /* TriggerActionTime */ YYSYMBOL_TriggerEvents = 801, /* TriggerEvents */ YYSYMBOL_TriggerOneEvent = 802, /* TriggerOneEvent */ YYSYMBOL_TriggerReferencing = 803, /* TriggerReferencing */ YYSYMBOL_TriggerTransitions = 804, /* TriggerTransitions */ YYSYMBOL_TriggerTransition = 805, /* TriggerTransition */ YYSYMBOL_TransitionOldOrNew = 806, /* TransitionOldOrNew */ YYSYMBOL_TransitionRowOrTable = 807, /* TransitionRowOrTable */ YYSYMBOL_TransitionRelName = 808, /* TransitionRelName */ YYSYMBOL_TriggerForSpec = 809, /* TriggerForSpec */ YYSYMBOL_TriggerForOptEach = 810, /* TriggerForOptEach */ YYSYMBOL_TriggerForType = 811, /* TriggerForType */ YYSYMBOL_TriggerWhen = 812, /* TriggerWhen */ YYSYMBOL_FUNCTION_or_PROCEDURE = 813, /* FUNCTION_or_PROCEDURE */ YYSYMBOL_TriggerFuncArgs = 814, /* TriggerFuncArgs */ YYSYMBOL_TriggerFuncArg = 815, /* TriggerFuncArg */ YYSYMBOL_OptConstrFromTable = 816, /* OptConstrFromTable */ YYSYMBOL_ConstraintAttributeSpec = 817, /* ConstraintAttributeSpec */ YYSYMBOL_ConstraintAttributeElem = 818, /* ConstraintAttributeElem */ YYSYMBOL_CreateEventTrigStmt = 819, /* CreateEventTrigStmt */ YYSYMBOL_event_trigger_when_list = 820, /* event_trigger_when_list */ YYSYMBOL_event_trigger_when_item = 821, /* event_trigger_when_item */ YYSYMBOL_event_trigger_value_list = 822, /* event_trigger_value_list */ YYSYMBOL_AlterEventTrigStmt = 823, /* AlterEventTrigStmt */ YYSYMBOL_enable_trigger = 824, /* enable_trigger */ YYSYMBOL_CreateAssertionStmt = 825, /* CreateAssertionStmt */ YYSYMBOL_DefineStmt = 826, /* DefineStmt */ YYSYMBOL_definition = 827, /* definition */ YYSYMBOL_def_list = 828, /* def_list */ YYSYMBOL_def_elem = 829, /* def_elem */ YYSYMBOL_def_arg = 830, /* def_arg */ YYSYMBOL_old_aggr_definition = 831, /* old_aggr_definition */ YYSYMBOL_old_aggr_list = 832, /* old_aggr_list */ YYSYMBOL_old_aggr_elem = 833, /* old_aggr_elem */ YYSYMBOL_opt_enum_val_list = 834, /* opt_enum_val_list */ YYSYMBOL_enum_val_list = 835, /* enum_val_list */ YYSYMBOL_AlterEnumStmt = 836, /* AlterEnumStmt */ YYSYMBOL_opt_if_not_exists = 837, /* opt_if_not_exists */ YYSYMBOL_CreateOpClassStmt = 838, /* CreateOpClassStmt */ YYSYMBOL_opclass_item_list = 839, /* opclass_item_list */ YYSYMBOL_opclass_item = 840, /* opclass_item */ YYSYMBOL_opt_default = 841, /* opt_default */ YYSYMBOL_opt_opfamily = 842, /* opt_opfamily */ YYSYMBOL_opclass_purpose = 843, /* opclass_purpose */ YYSYMBOL_opt_recheck = 844, /* opt_recheck */ YYSYMBOL_CreateOpFamilyStmt = 845, /* CreateOpFamilyStmt */ YYSYMBOL_AlterOpFamilyStmt = 846, /* AlterOpFamilyStmt */ YYSYMBOL_opclass_drop_list = 847, /* opclass_drop_list */ YYSYMBOL_opclass_drop = 848, /* opclass_drop */ YYSYMBOL_DropOpClassStmt = 849, /* DropOpClassStmt */ YYSYMBOL_DropOpFamilyStmt = 850, /* DropOpFamilyStmt */ YYSYMBOL_DropOwnedStmt = 851, /* DropOwnedStmt */ YYSYMBOL_ReassignOwnedStmt = 852, /* ReassignOwnedStmt */ YYSYMBOL_DropStmt = 853, /* DropStmt */ YYSYMBOL_object_type_any_name = 854, /* object_type_any_name */ YYSYMBOL_object_type_name = 855, /* object_type_name */ YYSYMBOL_drop_type_name = 856, /* drop_type_name */ YYSYMBOL_object_type_name_on_any_name = 857, /* object_type_name_on_any_name */ YYSYMBOL_any_name_list = 858, /* any_name_list */ YYSYMBOL_any_name = 859, /* any_name */ YYSYMBOL_attrs = 860, /* attrs */ YYSYMBOL_type_name_list = 861, /* type_name_list */ YYSYMBOL_TruncateStmt = 862, /* TruncateStmt */ YYSYMBOL_opt_restart_seqs = 863, /* opt_restart_seqs */ YYSYMBOL_CommentStmt = 864, /* CommentStmt */ YYSYMBOL_comment_text = 865, /* comment_text */ YYSYMBOL_SecLabelStmt = 866, /* SecLabelStmt */ YYSYMBOL_opt_provider = 867, /* opt_provider */ YYSYMBOL_security_label = 868, /* security_label */ YYSYMBOL_FetchStmt = 869, /* FetchStmt */ YYSYMBOL_fetch_args = 870, /* fetch_args */ YYSYMBOL_from_in = 871, /* from_in */ YYSYMBOL_opt_from_in = 872, /* opt_from_in */ YYSYMBOL_GrantStmt = 873, /* GrantStmt */ YYSYMBOL_RevokeStmt = 874, /* RevokeStmt */ YYSYMBOL_privileges = 875, /* privileges */ YYSYMBOL_privilege_list = 876, /* privilege_list */ YYSYMBOL_privilege = 877, /* privilege */ YYSYMBOL_parameter_name_list = 878, /* parameter_name_list */ YYSYMBOL_parameter_name = 879, /* parameter_name */ YYSYMBOL_privilege_target = 880, /* privilege_target */ YYSYMBOL_grantee_list = 881, /* grantee_list */ YYSYMBOL_grantee = 882, /* grantee */ YYSYMBOL_opt_grant_grant_option = 883, /* opt_grant_grant_option */ YYSYMBOL_GrantRoleStmt = 884, /* GrantRoleStmt */ YYSYMBOL_RevokeRoleStmt = 885, /* RevokeRoleStmt */ YYSYMBOL_grant_role_opt_list = 886, /* grant_role_opt_list */ YYSYMBOL_grant_role_opt = 887, /* grant_role_opt */ YYSYMBOL_grant_role_opt_value = 888, /* grant_role_opt_value */ YYSYMBOL_opt_granted_by = 889, /* opt_granted_by */ YYSYMBOL_AlterDefaultPrivilegesStmt = 890, /* AlterDefaultPrivilegesStmt */ YYSYMBOL_DefACLOptionList = 891, /* DefACLOptionList */ YYSYMBOL_DefACLOption = 892, /* DefACLOption */ YYSYMBOL_DefACLAction = 893, /* DefACLAction */ YYSYMBOL_defacl_privilege_target = 894, /* defacl_privilege_target */ YYSYMBOL_IndexStmt = 895, /* IndexStmt */ YYSYMBOL_opt_unique = 896, /* opt_unique */ YYSYMBOL_access_method_clause = 897, /* access_method_clause */ YYSYMBOL_index_params = 898, /* index_params */ YYSYMBOL_index_elem_options = 899, /* index_elem_options */ YYSYMBOL_index_elem = 900, /* index_elem */ YYSYMBOL_opt_include = 901, /* opt_include */ YYSYMBOL_index_including_params = 902, /* index_including_params */ YYSYMBOL_opt_collate = 903, /* opt_collate */ YYSYMBOL_opt_asc_desc = 904, /* opt_asc_desc */ YYSYMBOL_opt_nulls_order = 905, /* opt_nulls_order */ YYSYMBOL_CreateFunctionStmt = 906, /* CreateFunctionStmt */ YYSYMBOL_opt_or_replace = 907, /* opt_or_replace */ YYSYMBOL_func_args = 908, /* func_args */ YYSYMBOL_func_args_list = 909, /* func_args_list */ YYSYMBOL_function_with_argtypes_list = 910, /* function_with_argtypes_list */ YYSYMBOL_function_with_argtypes = 911, /* function_with_argtypes */ YYSYMBOL_func_args_with_defaults = 912, /* func_args_with_defaults */ YYSYMBOL_func_args_with_defaults_list = 913, /* func_args_with_defaults_list */ YYSYMBOL_func_arg = 914, /* func_arg */ YYSYMBOL_arg_class = 915, /* arg_class */ YYSYMBOL_param_name = 916, /* param_name */ YYSYMBOL_func_return = 917, /* func_return */ YYSYMBOL_func_type = 918, /* func_type */ YYSYMBOL_func_arg_with_default = 919, /* func_arg_with_default */ YYSYMBOL_aggr_arg = 920, /* aggr_arg */ YYSYMBOL_aggr_args = 921, /* aggr_args */ YYSYMBOL_aggr_args_list = 922, /* aggr_args_list */ YYSYMBOL_aggregate_with_argtypes = 923, /* aggregate_with_argtypes */ YYSYMBOL_aggregate_with_argtypes_list = 924, /* aggregate_with_argtypes_list */ YYSYMBOL_opt_createfunc_opt_list = 925, /* opt_createfunc_opt_list */ YYSYMBOL_createfunc_opt_list = 926, /* createfunc_opt_list */ YYSYMBOL_common_func_opt_item = 927, /* common_func_opt_item */ YYSYMBOL_createfunc_opt_item = 928, /* createfunc_opt_item */ YYSYMBOL_func_as = 929, /* func_as */ YYSYMBOL_ReturnStmt = 930, /* ReturnStmt */ YYSYMBOL_opt_routine_body = 931, /* opt_routine_body */ YYSYMBOL_routine_body_stmt_list = 932, /* routine_body_stmt_list */ YYSYMBOL_routine_body_stmt = 933, /* routine_body_stmt */ YYSYMBOL_transform_type_list = 934, /* transform_type_list */ YYSYMBOL_opt_definition = 935, /* opt_definition */ YYSYMBOL_table_func_column = 936, /* table_func_column */ YYSYMBOL_table_func_column_list = 937, /* table_func_column_list */ YYSYMBOL_AlterFunctionStmt = 938, /* AlterFunctionStmt */ YYSYMBOL_alterfunc_opt_list = 939, /* alterfunc_opt_list */ YYSYMBOL_opt_restrict = 940, /* opt_restrict */ YYSYMBOL_RemoveFuncStmt = 941, /* RemoveFuncStmt */ YYSYMBOL_RemoveAggrStmt = 942, /* RemoveAggrStmt */ YYSYMBOL_RemoveOperStmt = 943, /* RemoveOperStmt */ YYSYMBOL_oper_argtypes = 944, /* oper_argtypes */ YYSYMBOL_any_operator = 945, /* any_operator */ YYSYMBOL_operator_with_argtypes_list = 946, /* operator_with_argtypes_list */ YYSYMBOL_operator_with_argtypes = 947, /* operator_with_argtypes */ YYSYMBOL_DoStmt = 948, /* DoStmt */ YYSYMBOL_dostmt_opt_list = 949, /* dostmt_opt_list */ YYSYMBOL_dostmt_opt_item = 950, /* dostmt_opt_item */ YYSYMBOL_CreateCastStmt = 951, /* CreateCastStmt */ YYSYMBOL_cast_context = 952, /* cast_context */ YYSYMBOL_DropCastStmt = 953, /* DropCastStmt */ YYSYMBOL_opt_if_exists = 954, /* opt_if_exists */ YYSYMBOL_CreateTransformStmt = 955, /* CreateTransformStmt */ YYSYMBOL_transform_element_list = 956, /* transform_element_list */ YYSYMBOL_DropTransformStmt = 957, /* DropTransformStmt */ YYSYMBOL_ReindexStmt = 958, /* ReindexStmt */ YYSYMBOL_reindex_target_relation = 959, /* reindex_target_relation */ YYSYMBOL_reindex_target_all = 960, /* reindex_target_all */ YYSYMBOL_opt_reindex_option_list = 961, /* opt_reindex_option_list */ YYSYMBOL_AlterTblSpcStmt = 962, /* AlterTblSpcStmt */ YYSYMBOL_RenameStmt = 963, /* RenameStmt */ YYSYMBOL_opt_column = 964, /* opt_column */ YYSYMBOL_opt_set_data = 965, /* opt_set_data */ YYSYMBOL_AlterObjectDependsStmt = 966, /* AlterObjectDependsStmt */ YYSYMBOL_opt_no = 967, /* opt_no */ YYSYMBOL_AlterObjectSchemaStmt = 968, /* AlterObjectSchemaStmt */ YYSYMBOL_AlterOperatorStmt = 969, /* AlterOperatorStmt */ YYSYMBOL_operator_def_list = 970, /* operator_def_list */ YYSYMBOL_operator_def_elem = 971, /* operator_def_elem */ YYSYMBOL_operator_def_arg = 972, /* operator_def_arg */ YYSYMBOL_AlterTypeStmt = 973, /* AlterTypeStmt */ YYSYMBOL_AlterOwnerStmt = 974, /* AlterOwnerStmt */ YYSYMBOL_CreatePublicationStmt = 975, /* CreatePublicationStmt */ YYSYMBOL_PublicationObjSpec = 976, /* PublicationObjSpec */ YYSYMBOL_pub_obj_list = 977, /* pub_obj_list */ YYSYMBOL_AlterPublicationStmt = 978, /* AlterPublicationStmt */ YYSYMBOL_CreateSubscriptionStmt = 979, /* CreateSubscriptionStmt */ YYSYMBOL_AlterSubscriptionStmt = 980, /* AlterSubscriptionStmt */ YYSYMBOL_DropSubscriptionStmt = 981, /* DropSubscriptionStmt */ YYSYMBOL_RuleStmt = 982, /* RuleStmt */ YYSYMBOL_RuleActionList = 983, /* RuleActionList */ YYSYMBOL_RuleActionMulti = 984, /* RuleActionMulti */ YYSYMBOL_RuleActionStmt = 985, /* RuleActionStmt */ YYSYMBOL_RuleActionStmtOrEmpty = 986, /* RuleActionStmtOrEmpty */ YYSYMBOL_event = 987, /* event */ YYSYMBOL_opt_instead = 988, /* opt_instead */ YYSYMBOL_NotifyStmt = 989, /* NotifyStmt */ YYSYMBOL_notify_payload = 990, /* notify_payload */ YYSYMBOL_ListenStmt = 991, /* ListenStmt */ YYSYMBOL_UnlistenStmt = 992, /* UnlistenStmt */ YYSYMBOL_TransactionStmt = 993, /* TransactionStmt */ YYSYMBOL_TransactionStmtLegacy = 994, /* TransactionStmtLegacy */ YYSYMBOL_opt_transaction = 995, /* opt_transaction */ YYSYMBOL_transaction_mode_item = 996, /* transaction_mode_item */ YYSYMBOL_transaction_mode_list = 997, /* transaction_mode_list */ YYSYMBOL_transaction_mode_list_or_empty = 998, /* transaction_mode_list_or_empty */ YYSYMBOL_opt_transaction_chain = 999, /* opt_transaction_chain */ YYSYMBOL_ViewStmt = 1000, /* ViewStmt */ YYSYMBOL_opt_check_option = 1001, /* opt_check_option */ YYSYMBOL_LoadStmt = 1002, /* LoadStmt */ YYSYMBOL_CreatedbStmt = 1003, /* CreatedbStmt */ YYSYMBOL_createdb_opt_list = 1004, /* createdb_opt_list */ YYSYMBOL_createdb_opt_items = 1005, /* createdb_opt_items */ YYSYMBOL_createdb_opt_item = 1006, /* createdb_opt_item */ YYSYMBOL_createdb_opt_name = 1007, /* createdb_opt_name */ YYSYMBOL_opt_equal = 1008, /* opt_equal */ YYSYMBOL_AlterDatabaseStmt = 1009, /* AlterDatabaseStmt */ YYSYMBOL_AlterDatabaseSetStmt = 1010, /* AlterDatabaseSetStmt */ YYSYMBOL_DropdbStmt = 1011, /* DropdbStmt */ YYSYMBOL_drop_option_list = 1012, /* drop_option_list */ YYSYMBOL_drop_option = 1013, /* drop_option */ YYSYMBOL_AlterCollationStmt = 1014, /* AlterCollationStmt */ YYSYMBOL_AlterSystemStmt = 1015, /* AlterSystemStmt */ YYSYMBOL_CreateDomainStmt = 1016, /* CreateDomainStmt */ YYSYMBOL_AlterDomainStmt = 1017, /* AlterDomainStmt */ YYSYMBOL_opt_as = 1018, /* opt_as */ YYSYMBOL_AlterTSDictionaryStmt = 1019, /* AlterTSDictionaryStmt */ YYSYMBOL_AlterTSConfigurationStmt = 1020, /* AlterTSConfigurationStmt */ YYSYMBOL_any_with = 1021, /* any_with */ YYSYMBOL_CreateConversionStmt = 1022, /* CreateConversionStmt */ YYSYMBOL_ClusterStmt = 1023, /* ClusterStmt */ YYSYMBOL_cluster_index_specification = 1024, /* cluster_index_specification */ YYSYMBOL_VacuumStmt = 1025, /* VacuumStmt */ YYSYMBOL_AnalyzeStmt = 1026, /* AnalyzeStmt */ YYSYMBOL_utility_option_list = 1027, /* utility_option_list */ YYSYMBOL_analyze_keyword = 1028, /* analyze_keyword */ YYSYMBOL_utility_option_elem = 1029, /* utility_option_elem */ YYSYMBOL_utility_option_name = 1030, /* utility_option_name */ YYSYMBOL_utility_option_arg = 1031, /* utility_option_arg */ YYSYMBOL_opt_analyze = 1032, /* opt_analyze */ YYSYMBOL_opt_verbose = 1033, /* opt_verbose */ YYSYMBOL_opt_full = 1034, /* opt_full */ YYSYMBOL_opt_freeze = 1035, /* opt_freeze */ YYSYMBOL_opt_name_list = 1036, /* opt_name_list */ YYSYMBOL_vacuum_relation = 1037, /* vacuum_relation */ YYSYMBOL_vacuum_relation_list = 1038, /* vacuum_relation_list */ YYSYMBOL_opt_vacuum_relation_list = 1039, /* opt_vacuum_relation_list */ YYSYMBOL_ExplainStmt = 1040, /* ExplainStmt */ YYSYMBOL_ExplainableStmt = 1041, /* ExplainableStmt */ YYSYMBOL_PrepareStmt = 1042, /* PrepareStmt */ YYSYMBOL_prep_type_clause = 1043, /* prep_type_clause */ YYSYMBOL_PreparableStmt = 1044, /* PreparableStmt */ YYSYMBOL_ExecuteStmt = 1045, /* ExecuteStmt */ YYSYMBOL_execute_param_clause = 1046, /* execute_param_clause */ YYSYMBOL_InsertStmt = 1047, /* InsertStmt */ YYSYMBOL_insert_target = 1048, /* insert_target */ YYSYMBOL_insert_rest = 1049, /* insert_rest */ YYSYMBOL_override_kind = 1050, /* override_kind */ YYSYMBOL_insert_column_list = 1051, /* insert_column_list */ YYSYMBOL_insert_column_item = 1052, /* insert_column_item */ YYSYMBOL_opt_on_conflict = 1053, /* opt_on_conflict */ YYSYMBOL_opt_conf_expr = 1054, /* opt_conf_expr */ YYSYMBOL_returning_clause = 1055, /* returning_clause */ YYSYMBOL_DeleteStmt = 1056, /* DeleteStmt */ YYSYMBOL_using_clause = 1057, /* using_clause */ YYSYMBOL_LockStmt = 1058, /* LockStmt */ YYSYMBOL_opt_lock = 1059, /* opt_lock */ YYSYMBOL_lock_type = 1060, /* lock_type */ YYSYMBOL_opt_nowait = 1061, /* opt_nowait */ YYSYMBOL_opt_nowait_or_skip = 1062, /* opt_nowait_or_skip */ YYSYMBOL_UpdateStmt = 1063, /* UpdateStmt */ YYSYMBOL_set_clause_list = 1064, /* set_clause_list */ YYSYMBOL_set_clause = 1065, /* set_clause */ YYSYMBOL_set_target = 1066, /* set_target */ YYSYMBOL_set_target_list = 1067, /* set_target_list */ YYSYMBOL_MergeStmt = 1068, /* MergeStmt */ YYSYMBOL_merge_when_list = 1069, /* merge_when_list */ YYSYMBOL_merge_when_clause = 1070, /* merge_when_clause */ YYSYMBOL_opt_merge_when_condition = 1071, /* opt_merge_when_condition */ YYSYMBOL_merge_update = 1072, /* merge_update */ YYSYMBOL_merge_delete = 1073, /* merge_delete */ YYSYMBOL_merge_insert = 1074, /* merge_insert */ YYSYMBOL_merge_values_clause = 1075, /* merge_values_clause */ YYSYMBOL_DeclareCursorStmt = 1076, /* DeclareCursorStmt */ YYSYMBOL_cursor_name = 1077, /* cursor_name */ YYSYMBOL_cursor_options = 1078, /* cursor_options */ YYSYMBOL_opt_hold = 1079, /* opt_hold */ YYSYMBOL_SelectStmt = 1080, /* SelectStmt */ YYSYMBOL_select_with_parens = 1081, /* select_with_parens */ YYSYMBOL_select_no_parens = 1082, /* select_no_parens */ YYSYMBOL_select_clause = 1083, /* select_clause */ YYSYMBOL_simple_select = 1084, /* simple_select */ YYSYMBOL_with_clause = 1085, /* with_clause */ YYSYMBOL_cte_list = 1086, /* cte_list */ YYSYMBOL_common_table_expr = 1087, /* common_table_expr */ YYSYMBOL_opt_materialized = 1088, /* opt_materialized */ YYSYMBOL_opt_search_clause = 1089, /* opt_search_clause */ YYSYMBOL_opt_cycle_clause = 1090, /* opt_cycle_clause */ YYSYMBOL_opt_with_clause = 1091, /* opt_with_clause */ YYSYMBOL_into_clause = 1092, /* into_clause */ YYSYMBOL_OptTempTableName = 1093, /* OptTempTableName */ YYSYMBOL_opt_table = 1094, /* opt_table */ YYSYMBOL_set_quantifier = 1095, /* set_quantifier */ YYSYMBOL_distinct_clause = 1096, /* distinct_clause */ YYSYMBOL_opt_all_clause = 1097, /* opt_all_clause */ YYSYMBOL_opt_sort_clause = 1098, /* opt_sort_clause */ YYSYMBOL_sort_clause = 1099, /* sort_clause */ YYSYMBOL_sortby_list = 1100, /* sortby_list */ YYSYMBOL_sortby = 1101, /* sortby */ YYSYMBOL_select_limit = 1102, /* select_limit */ YYSYMBOL_opt_select_limit = 1103, /* opt_select_limit */ YYSYMBOL_limit_clause = 1104, /* limit_clause */ YYSYMBOL_offset_clause = 1105, /* offset_clause */ YYSYMBOL_select_limit_value = 1106, /* select_limit_value */ YYSYMBOL_select_offset_value = 1107, /* select_offset_value */ YYSYMBOL_select_fetch_first_value = 1108, /* select_fetch_first_value */ YYSYMBOL_I_or_F_const = 1109, /* I_or_F_const */ YYSYMBOL_row_or_rows = 1110, /* row_or_rows */ YYSYMBOL_first_or_next = 1111, /* first_or_next */ YYSYMBOL_group_clause = 1112, /* group_clause */ YYSYMBOL_group_by_list = 1113, /* group_by_list */ YYSYMBOL_group_by_item = 1114, /* group_by_item */ YYSYMBOL_empty_grouping_set = 1115, /* empty_grouping_set */ YYSYMBOL_rollup_clause = 1116, /* rollup_clause */ YYSYMBOL_cube_clause = 1117, /* cube_clause */ YYSYMBOL_grouping_sets_clause = 1118, /* grouping_sets_clause */ YYSYMBOL_having_clause = 1119, /* having_clause */ YYSYMBOL_for_locking_clause = 1120, /* for_locking_clause */ YYSYMBOL_opt_for_locking_clause = 1121, /* opt_for_locking_clause */ YYSYMBOL_for_locking_items = 1122, /* for_locking_items */ YYSYMBOL_for_locking_item = 1123, /* for_locking_item */ YYSYMBOL_for_locking_strength = 1124, /* for_locking_strength */ YYSYMBOL_locked_rels_list = 1125, /* locked_rels_list */ YYSYMBOL_values_clause = 1126, /* values_clause */ YYSYMBOL_from_clause = 1127, /* from_clause */ YYSYMBOL_from_list = 1128, /* from_list */ YYSYMBOL_table_ref = 1129, /* table_ref */ YYSYMBOL_joined_table = 1130, /* joined_table */ YYSYMBOL_alias_clause = 1131, /* alias_clause */ YYSYMBOL_opt_alias_clause = 1132, /* opt_alias_clause */ YYSYMBOL_opt_alias_clause_for_join_using = 1133, /* opt_alias_clause_for_join_using */ YYSYMBOL_func_alias_clause = 1134, /* func_alias_clause */ YYSYMBOL_join_type = 1135, /* join_type */ YYSYMBOL_opt_outer = 1136, /* opt_outer */ YYSYMBOL_join_qual = 1137, /* join_qual */ YYSYMBOL_relation_expr = 1138, /* relation_expr */ YYSYMBOL_extended_relation_expr = 1139, /* extended_relation_expr */ YYSYMBOL_relation_expr_list = 1140, /* relation_expr_list */ YYSYMBOL_relation_expr_opt_alias = 1141, /* relation_expr_opt_alias */ YYSYMBOL_tablesample_clause = 1142, /* tablesample_clause */ YYSYMBOL_opt_repeatable_clause = 1143, /* opt_repeatable_clause */ YYSYMBOL_func_table = 1144, /* func_table */ YYSYMBOL_rowsfrom_item = 1145, /* rowsfrom_item */ YYSYMBOL_rowsfrom_list = 1146, /* rowsfrom_list */ YYSYMBOL_opt_col_def_list = 1147, /* opt_col_def_list */ YYSYMBOL_opt_ordinality = 1148, /* opt_ordinality */ YYSYMBOL_where_clause = 1149, /* where_clause */ YYSYMBOL_where_or_current_clause = 1150, /* where_or_current_clause */ YYSYMBOL_OptTableFuncElementList = 1151, /* OptTableFuncElementList */ YYSYMBOL_TableFuncElementList = 1152, /* TableFuncElementList */ YYSYMBOL_TableFuncElement = 1153, /* TableFuncElement */ YYSYMBOL_xmltable = 1154, /* xmltable */ YYSYMBOL_xmltable_column_list = 1155, /* xmltable_column_list */ YYSYMBOL_xmltable_column_el = 1156, /* xmltable_column_el */ YYSYMBOL_xmltable_column_option_list = 1157, /* xmltable_column_option_list */ YYSYMBOL_xmltable_column_option_el = 1158, /* xmltable_column_option_el */ YYSYMBOL_xml_namespace_list = 1159, /* xml_namespace_list */ YYSYMBOL_xml_namespace_el = 1160, /* xml_namespace_el */ YYSYMBOL_Typename = 1161, /* Typename */ YYSYMBOL_opt_array_bounds = 1162, /* opt_array_bounds */ YYSYMBOL_SimpleTypename = 1163, /* SimpleTypename */ YYSYMBOL_ConstTypename = 1164, /* ConstTypename */ YYSYMBOL_GenericType = 1165, /* GenericType */ YYSYMBOL_opt_type_modifiers = 1166, /* opt_type_modifiers */ YYSYMBOL_Numeric = 1167, /* Numeric */ YYSYMBOL_opt_float = 1168, /* opt_float */ YYSYMBOL_Bit = 1169, /* Bit */ YYSYMBOL_ConstBit = 1170, /* ConstBit */ YYSYMBOL_BitWithLength = 1171, /* BitWithLength */ YYSYMBOL_BitWithoutLength = 1172, /* BitWithoutLength */ YYSYMBOL_Character = 1173, /* Character */ YYSYMBOL_ConstCharacter = 1174, /* ConstCharacter */ YYSYMBOL_CharacterWithLength = 1175, /* CharacterWithLength */ YYSYMBOL_CharacterWithoutLength = 1176, /* CharacterWithoutLength */ YYSYMBOL_character = 1177, /* character */ YYSYMBOL_opt_varying = 1178, /* opt_varying */ YYSYMBOL_ConstDatetime = 1179, /* ConstDatetime */ YYSYMBOL_ConstInterval = 1180, /* ConstInterval */ YYSYMBOL_opt_timezone = 1181, /* opt_timezone */ YYSYMBOL_opt_interval = 1182, /* opt_interval */ YYSYMBOL_interval_second = 1183, /* interval_second */ YYSYMBOL_a_expr = 1184, /* a_expr */ YYSYMBOL_b_expr = 1185, /* b_expr */ YYSYMBOL_c_expr = 1186, /* c_expr */ YYSYMBOL_func_application = 1187, /* func_application */ YYSYMBOL_func_expr = 1188, /* func_expr */ YYSYMBOL_func_expr_windowless = 1189, /* func_expr_windowless */ YYSYMBOL_func_expr_common_subexpr = 1190, /* func_expr_common_subexpr */ YYSYMBOL_xml_root_version = 1191, /* xml_root_version */ YYSYMBOL_opt_xml_root_standalone = 1192, /* opt_xml_root_standalone */ YYSYMBOL_xml_attributes = 1193, /* xml_attributes */ YYSYMBOL_xml_attribute_list = 1194, /* xml_attribute_list */ YYSYMBOL_xml_attribute_el = 1195, /* xml_attribute_el */ YYSYMBOL_document_or_content = 1196, /* document_or_content */ YYSYMBOL_xml_indent_option = 1197, /* xml_indent_option */ YYSYMBOL_xml_whitespace_option = 1198, /* xml_whitespace_option */ YYSYMBOL_xmlexists_argument = 1199, /* xmlexists_argument */ YYSYMBOL_xml_passing_mech = 1200, /* xml_passing_mech */ YYSYMBOL_within_group_clause = 1201, /* within_group_clause */ YYSYMBOL_filter_clause = 1202, /* filter_clause */ YYSYMBOL_window_clause = 1203, /* window_clause */ YYSYMBOL_window_definition_list = 1204, /* window_definition_list */ YYSYMBOL_window_definition = 1205, /* window_definition */ YYSYMBOL_over_clause = 1206, /* over_clause */ YYSYMBOL_window_specification = 1207, /* window_specification */ YYSYMBOL_opt_existing_window_name = 1208, /* opt_existing_window_name */ YYSYMBOL_opt_partition_clause = 1209, /* opt_partition_clause */ YYSYMBOL_opt_frame_clause = 1210, /* opt_frame_clause */ YYSYMBOL_frame_extent = 1211, /* frame_extent */ YYSYMBOL_frame_bound = 1212, /* frame_bound */ YYSYMBOL_opt_window_exclusion_clause = 1213, /* opt_window_exclusion_clause */ YYSYMBOL_row = 1214, /* row */ YYSYMBOL_explicit_row = 1215, /* explicit_row */ YYSYMBOL_implicit_row = 1216, /* implicit_row */ YYSYMBOL_sub_type = 1217, /* sub_type */ YYSYMBOL_all_Op = 1218, /* all_Op */ YYSYMBOL_MathOp = 1219, /* MathOp */ YYSYMBOL_qual_Op = 1220, /* qual_Op */ YYSYMBOL_qual_all_Op = 1221, /* qual_all_Op */ YYSYMBOL_subquery_Op = 1222, /* subquery_Op */ YYSYMBOL_expr_list = 1223, /* expr_list */ YYSYMBOL_func_arg_list = 1224, /* func_arg_list */ YYSYMBOL_func_arg_expr = 1225, /* func_arg_expr */ YYSYMBOL_func_arg_list_opt = 1226, /* func_arg_list_opt */ YYSYMBOL_type_list = 1227, /* type_list */ YYSYMBOL_array_expr = 1228, /* array_expr */ YYSYMBOL_array_expr_list = 1229, /* array_expr_list */ YYSYMBOL_extract_list = 1230, /* extract_list */ YYSYMBOL_extract_arg = 1231, /* extract_arg */ YYSYMBOL_unicode_normal_form = 1232, /* unicode_normal_form */ YYSYMBOL_overlay_list = 1233, /* overlay_list */ YYSYMBOL_position_list = 1234, /* position_list */ YYSYMBOL_substr_list = 1235, /* substr_list */ YYSYMBOL_trim_list = 1236, /* trim_list */ YYSYMBOL_in_expr = 1237, /* in_expr */ YYSYMBOL_case_expr = 1238, /* case_expr */ YYSYMBOL_when_clause_list = 1239, /* when_clause_list */ YYSYMBOL_when_clause = 1240, /* when_clause */ YYSYMBOL_case_default = 1241, /* case_default */ YYSYMBOL_case_arg = 1242, /* case_arg */ YYSYMBOL_columnref = 1243, /* columnref */ YYSYMBOL_indirection_el = 1244, /* indirection_el */ YYSYMBOL_opt_slice_bound = 1245, /* opt_slice_bound */ YYSYMBOL_indirection = 1246, /* indirection */ YYSYMBOL_opt_indirection = 1247, /* opt_indirection */ YYSYMBOL_opt_asymmetric = 1248, /* opt_asymmetric */ YYSYMBOL_json_value_expr = 1249, /* json_value_expr */ YYSYMBOL_json_format_clause_opt = 1250, /* json_format_clause_opt */ YYSYMBOL_json_encoding_clause_opt = 1251, /* json_encoding_clause_opt */ YYSYMBOL_json_output_clause_opt = 1252, /* json_output_clause_opt */ YYSYMBOL_json_predicate_type_constraint = 1253, /* json_predicate_type_constraint */ YYSYMBOL_json_key_uniqueness_constraint_opt = 1254, /* json_key_uniqueness_constraint_opt */ YYSYMBOL_json_name_and_value_list = 1255, /* json_name_and_value_list */ YYSYMBOL_json_name_and_value = 1256, /* json_name_and_value */ YYSYMBOL_json_object_constructor_null_clause_opt = 1257, /* json_object_constructor_null_clause_opt */ YYSYMBOL_json_array_constructor_null_clause_opt = 1258, /* json_array_constructor_null_clause_opt */ YYSYMBOL_json_value_expr_list = 1259, /* json_value_expr_list */ YYSYMBOL_json_aggregate_func = 1260, /* json_aggregate_func */ YYSYMBOL_json_array_aggregate_order_by_clause_opt = 1261, /* json_array_aggregate_order_by_clause_opt */ YYSYMBOL_opt_target_list = 1262, /* opt_target_list */ YYSYMBOL_target_list = 1263, /* target_list */ YYSYMBOL_target_el = 1264, /* target_el */ YYSYMBOL_qualified_name_list = 1265, /* qualified_name_list */ YYSYMBOL_qualified_name = 1266, /* qualified_name */ YYSYMBOL_name_list = 1267, /* name_list */ YYSYMBOL_name = 1268, /* name */ YYSYMBOL_attr_name = 1269, /* attr_name */ YYSYMBOL_file_name = 1270, /* file_name */ YYSYMBOL_func_name = 1271, /* func_name */ YYSYMBOL_AexprConst = 1272, /* AexprConst */ YYSYMBOL_Iconst = 1273, /* Iconst */ YYSYMBOL_SignedIconst = 1274, /* SignedIconst */ YYSYMBOL_RoleId = 1275, /* RoleId */ YYSYMBOL_RoleSpec = 1276, /* RoleSpec */ YYSYMBOL_role_list = 1277, /* role_list */ YYSYMBOL_NonReservedWord = 1278, /* NonReservedWord */ YYSYMBOL_BareColLabel = 1279, /* BareColLabel */ YYSYMBOL_unreserved_keyword = 1280, /* unreserved_keyword */ YYSYMBOL_col_name_keyword = 1281, /* col_name_keyword */ YYSYMBOL_type_func_name_keyword = 1282, /* type_func_name_keyword */ YYSYMBOL_reserved_keyword = 1283, /* reserved_keyword */ YYSYMBOL_bare_label_keyword = 1284, /* bare_label_keyword */ YYSYMBOL_statements = 1285, /* statements */ YYSYMBOL_statement = 1286, /* statement */ YYSYMBOL_CreateAsStmt = 1287, /* CreateAsStmt */ YYSYMBOL_1288_1 = 1288, /* $@1 */ YYSYMBOL_1289_2 = 1289, /* $@2 */ YYSYMBOL_at = 1290, /* at */ YYSYMBOL_ECPGConnect = 1291, /* ECPGConnect */ YYSYMBOL_connection_target = 1292, /* connection_target */ YYSYMBOL_opt_database_name = 1293, /* opt_database_name */ YYSYMBOL_db_prefix = 1294, /* db_prefix */ YYSYMBOL_server = 1295, /* server */ YYSYMBOL_opt_server = 1296, /* opt_server */ YYSYMBOL_server_name = 1297, /* server_name */ YYSYMBOL_opt_port = 1298, /* opt_port */ YYSYMBOL_opt_connection_name = 1299, /* opt_connection_name */ YYSYMBOL_opt_user = 1300, /* opt_user */ YYSYMBOL_ora_user = 1301, /* ora_user */ YYSYMBOL_user_name = 1302, /* user_name */ YYSYMBOL_char_variable = 1303, /* char_variable */ YYSYMBOL_opt_options = 1304, /* opt_options */ YYSYMBOL_connect_options = 1305, /* connect_options */ YYSYMBOL_opt_opt_value = 1306, /* opt_opt_value */ YYSYMBOL_prepared_name = 1307, /* prepared_name */ YYSYMBOL_ECPGDeclareStmt = 1308, /* ECPGDeclareStmt */ YYSYMBOL_ECPGCursorStmt = 1309, /* ECPGCursorStmt */ YYSYMBOL_ECPGExecuteImmediateStmt = 1310, /* ECPGExecuteImmediateStmt */ YYSYMBOL_ECPGVarDeclaration = 1311, /* ECPGVarDeclaration */ YYSYMBOL_single_vt_declaration = 1312, /* single_vt_declaration */ YYSYMBOL_precision = 1313, /* precision */ YYSYMBOL_opt_scale = 1314, /* opt_scale */ YYSYMBOL_ecpg_interval = 1315, /* ecpg_interval */ YYSYMBOL_ECPGDeclaration = 1316, /* ECPGDeclaration */ YYSYMBOL_1317_3 = 1317, /* $@3 */ YYSYMBOL_sql_startdeclare = 1318, /* sql_startdeclare */ YYSYMBOL_sql_enddeclare = 1319, /* sql_enddeclare */ YYSYMBOL_var_type_declarations = 1320, /* var_type_declarations */ YYSYMBOL_vt_declarations = 1321, /* vt_declarations */ YYSYMBOL_variable_declarations = 1322, /* variable_declarations */ YYSYMBOL_type_declaration = 1323, /* type_declaration */ YYSYMBOL_1324_4 = 1324, /* $@4 */ YYSYMBOL_var_declaration = 1325, /* var_declaration */ YYSYMBOL_1326_5 = 1326, /* $@5 */ YYSYMBOL_1327_6 = 1327, /* $@6 */ YYSYMBOL_opt_bit_field = 1328, /* opt_bit_field */ YYSYMBOL_storage_declaration = 1329, /* storage_declaration */ YYSYMBOL_storage_clause = 1330, /* storage_clause */ YYSYMBOL_storage_modifier = 1331, /* storage_modifier */ YYSYMBOL_var_type = 1332, /* var_type */ YYSYMBOL_enum_type = 1333, /* enum_type */ YYSYMBOL_enum_definition = 1334, /* enum_definition */ YYSYMBOL_struct_union_type_with_symbol = 1335, /* struct_union_type_with_symbol */ YYSYMBOL_1336_7 = 1336, /* $@7 */ YYSYMBOL_struct_union_type = 1337, /* struct_union_type */ YYSYMBOL_1338_8 = 1338, /* $@8 */ YYSYMBOL_s_struct_union_symbol = 1339, /* s_struct_union_symbol */ YYSYMBOL_s_struct_union = 1340, /* s_struct_union */ YYSYMBOL_simple_type = 1341, /* simple_type */ YYSYMBOL_unsigned_type = 1342, /* unsigned_type */ YYSYMBOL_signed_type = 1343, /* signed_type */ YYSYMBOL_opt_signed = 1344, /* opt_signed */ YYSYMBOL_variable_list = 1345, /* variable_list */ YYSYMBOL_variable = 1346, /* variable */ YYSYMBOL_opt_initializer = 1347, /* opt_initializer */ YYSYMBOL_opt_pointer = 1348, /* opt_pointer */ YYSYMBOL_ECPGDeclare = 1349, /* ECPGDeclare */ YYSYMBOL_ECPGDisconnect = 1350, /* ECPGDisconnect */ YYSYMBOL_dis_name = 1351, /* dis_name */ YYSYMBOL_connection_object = 1352, /* connection_object */ YYSYMBOL_execstring = 1353, /* execstring */ YYSYMBOL_ECPGFree = 1354, /* ECPGFree */ YYSYMBOL_ECPGOpen = 1355, /* ECPGOpen */ YYSYMBOL_opt_ecpg_using = 1356, /* opt_ecpg_using */ YYSYMBOL_ecpg_using = 1357, /* ecpg_using */ YYSYMBOL_using_descriptor = 1358, /* using_descriptor */ YYSYMBOL_into_descriptor = 1359, /* into_descriptor */ YYSYMBOL_into_sqlda = 1360, /* into_sqlda */ YYSYMBOL_using_list = 1361, /* using_list */ YYSYMBOL_UsingValue = 1362, /* UsingValue */ YYSYMBOL_UsingConst = 1363, /* UsingConst */ YYSYMBOL_ECPGDescribe = 1364, /* ECPGDescribe */ YYSYMBOL_opt_output = 1365, /* opt_output */ YYSYMBOL_ECPGAllocateDescr = 1366, /* ECPGAllocateDescr */ YYSYMBOL_ECPGDeallocateDescr = 1367, /* ECPGDeallocateDescr */ YYSYMBOL_ECPGGetDescriptorHeader = 1368, /* ECPGGetDescriptorHeader */ YYSYMBOL_ECPGGetDescHeaderItems = 1369, /* ECPGGetDescHeaderItems */ YYSYMBOL_ECPGGetDescHeaderItem = 1370, /* ECPGGetDescHeaderItem */ YYSYMBOL_ECPGSetDescriptorHeader = 1371, /* ECPGSetDescriptorHeader */ YYSYMBOL_ECPGSetDescHeaderItems = 1372, /* ECPGSetDescHeaderItems */ YYSYMBOL_ECPGSetDescHeaderItem = 1373, /* ECPGSetDescHeaderItem */ YYSYMBOL_IntConstVar = 1374, /* IntConstVar */ YYSYMBOL_desc_header_item = 1375, /* desc_header_item */ YYSYMBOL_ECPGGetDescriptor = 1376, /* ECPGGetDescriptor */ YYSYMBOL_ECPGGetDescItems = 1377, /* ECPGGetDescItems */ YYSYMBOL_ECPGGetDescItem = 1378, /* ECPGGetDescItem */ YYSYMBOL_ECPGSetDescriptor = 1379, /* ECPGSetDescriptor */ YYSYMBOL_ECPGSetDescItems = 1380, /* ECPGSetDescItems */ YYSYMBOL_ECPGSetDescItem = 1381, /* ECPGSetDescItem */ YYSYMBOL_AllConstVar = 1382, /* AllConstVar */ YYSYMBOL_descriptor_item = 1383, /* descriptor_item */ YYSYMBOL_ECPGSetAutocommit = 1384, /* ECPGSetAutocommit */ YYSYMBOL_on_off = 1385, /* on_off */ YYSYMBOL_ECPGSetConnection = 1386, /* ECPGSetConnection */ YYSYMBOL_ECPGTypedef = 1387, /* ECPGTypedef */ YYSYMBOL_1388_9 = 1388, /* $@9 */ YYSYMBOL_opt_reference = 1389, /* opt_reference */ YYSYMBOL_ECPGVar = 1390, /* ECPGVar */ YYSYMBOL_1391_10 = 1391, /* $@10 */ YYSYMBOL_ECPGWhenever = 1392, /* ECPGWhenever */ YYSYMBOL_action = 1393, /* action */ YYSYMBOL_ECPGKeywords = 1394, /* ECPGKeywords */ YYSYMBOL_ECPGKeywords_vanames = 1395, /* ECPGKeywords_vanames */ YYSYMBOL_ECPGKeywords_rest = 1396, /* ECPGKeywords_rest */ YYSYMBOL_ECPGTypeName = 1397, /* ECPGTypeName */ YYSYMBOL_symbol = 1398, /* symbol */ YYSYMBOL_ECPGColId = 1399, /* ECPGColId */ YYSYMBOL_ColId = 1400, /* ColId */ YYSYMBOL_type_function_name = 1401, /* type_function_name */ YYSYMBOL_ColLabel = 1402, /* ColLabel */ YYSYMBOL_ECPGColLabel = 1403, /* ECPGColLabel */ YYSYMBOL_ECPGCKeywords = 1404, /* ECPGCKeywords */ YYSYMBOL_all_unreserved_keyword = 1405, /* all_unreserved_keyword */ YYSYMBOL_ECPGunreserved_interval = 1406, /* ECPGunreserved_interval */ YYSYMBOL_into_list = 1407, /* into_list */ YYSYMBOL_ecpgstart = 1408, /* ecpgstart */ YYSYMBOL_c_args = 1409, /* c_args */ YYSYMBOL_coutputvariable = 1410, /* coutputvariable */ YYSYMBOL_civarind = 1411, /* civarind */ YYSYMBOL_char_civar = 1412, /* char_civar */ YYSYMBOL_civar = 1413, /* civar */ YYSYMBOL_indicator = 1414, /* indicator */ YYSYMBOL_cvariable = 1415, /* cvariable */ YYSYMBOL_ecpg_param = 1416, /* ecpg_param */ YYSYMBOL_ecpg_bconst = 1417, /* ecpg_bconst */ YYSYMBOL_ecpg_fconst = 1418, /* ecpg_fconst */ YYSYMBOL_ecpg_sconst = 1419, /* ecpg_sconst */ YYSYMBOL_ecpg_xconst = 1420, /* ecpg_xconst */ YYSYMBOL_ecpg_ident = 1421, /* ecpg_ident */ YYSYMBOL_quoted_ident_stringvar = 1422, /* quoted_ident_stringvar */ YYSYMBOL_c_stuff_item = 1423, /* c_stuff_item */ YYSYMBOL_c_stuff = 1424, /* c_stuff */ YYSYMBOL_c_list = 1425, /* c_list */ YYSYMBOL_c_term = 1426, /* c_term */ YYSYMBOL_c_thing = 1427, /* c_thing */ YYSYMBOL_c_anything = 1428, /* c_anything */ YYSYMBOL_DeallocateStmt = 1429, /* DeallocateStmt */ YYSYMBOL_Iresult = 1430, /* Iresult */ YYSYMBOL_execute_rest = 1431, /* execute_rest */ YYSYMBOL_ecpg_into = 1432, /* ecpg_into */ YYSYMBOL_opt_ecpg_into = 1433, /* opt_ecpg_into */ YYSYMBOL_ecpg_fetch_into = 1434, /* ecpg_fetch_into */ YYSYMBOL_opt_ecpg_fetch_into = 1435 /* opt_ecpg_fetch_into */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; #ifdef short # undef short #endif /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure and (if available) are included so that the code can choose integer types of a good width. */ #ifndef __PTRDIFF_MAX__ # include /* INFRINGES ON USER NAME SPACE */ # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ # include /* INFRINGES ON USER NAME SPACE */ # define YY_STDINT_H # endif #endif /* Narrow types that promote to a signed type and that can represent a signed or unsigned integer of at least N bits. In tables they can save space and decrease cache pressure. Promoting to a signed type helps avoid bugs in integer arithmetic. */ #ifdef __INT_LEAST8_MAX__ typedef __INT_LEAST8_TYPE__ yytype_int8; #elif defined YY_STDINT_H typedef int_least8_t yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef __INT_LEAST16_MAX__ typedef __INT_LEAST16_TYPE__ yytype_int16; #elif defined YY_STDINT_H typedef int_least16_t yytype_int16; #else typedef short yytype_int16; #endif /* Work around bug in HP-UX 11.23, which defines these macros incorrectly for preprocessor constants. This workaround can likely be removed in 2023, as HPE has promised support for HP-UX 11.23 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of . */ #ifdef __hpux # undef UINT_LEAST8_MAX # undef UINT_LEAST16_MAX # define UINT_LEAST8_MAX 255 # define UINT_LEAST16_MAX 65535 #endif #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ typedef __UINT_LEAST8_TYPE__ yytype_uint8; #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ && UINT_LEAST8_MAX <= INT_MAX) typedef uint_least8_t yytype_uint8; #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX typedef unsigned char yytype_uint8; #else typedef short yytype_uint8; #endif #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ typedef __UINT_LEAST16_TYPE__ yytype_uint16; #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ && UINT_LEAST16_MAX <= INT_MAX) typedef uint_least16_t yytype_uint16; #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX typedef unsigned short yytype_uint16; #else typedef int yytype_uint16; #endif #ifndef YYPTRDIFF_T # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ # define YYPTRDIFF_T __PTRDIFF_TYPE__ # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ # elif defined PTRDIFF_MAX # ifndef ptrdiff_t # include /* INFRINGES ON USER NAME SPACE */ # endif # define YYPTRDIFF_T ptrdiff_t # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX # else # define YYPTRDIFF_T long # define YYPTRDIFF_MAXIMUM LONG_MAX # endif #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned # endif #endif #define YYSIZE_MAXIMUM \ YY_CAST (YYPTRDIFF_T, \ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ ? YYPTRDIFF_MAXIMUM \ : YY_CAST (YYSIZE_T, -1))) #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) /* Stored state numbers (used for stacks). */ typedef yytype_int16 yy_state_t; /* State numbers in computations. */ typedef int yy_state_fast_t; #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE_PURE # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) # else # define YY_ATTRIBUTE_PURE # endif #endif #ifndef YY_ATTRIBUTE_UNUSED # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) # else # define YY_ATTRIBUTE_UNUSED # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YY_USE(E) ((void) (E)) #else # define YY_USE(E) /* empty */ #endif #if defined __GNUC__ && ! defined __ICC && 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 __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ # define YY_IGNORE_USELESS_CAST_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") # define YY_IGNORE_USELESS_CAST_END \ _Pragma ("GCC diagnostic pop") #endif #ifndef YY_IGNORE_USELESS_CAST_BEGIN # define YY_IGNORE_USELESS_CAST_BEGIN # define YY_IGNORE_USELESS_CAST_END #endif #define YY_ASSERT(E) ((void) (0 && (E))) #if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* !defined yyoverflow */ #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 { yy_state_t 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 (YYSIZEOF (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \ + YYSIZEOF (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 \ { \ YYPTRDIFF_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / YYSIZEOF (*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, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYPTRDIFF_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 3 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 153253 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 591 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 845 /* YYNRULES -- Number of rules. */ #define YYNRULES 3751 /* YYNSTATES -- Number of states. */ #define YYNSTATES 6864 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 826 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ (0 <= (YYX) && (YYX) <= YYMAXUTOK \ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ static const yytype_int16 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, 2, 2, 2, 2, 578, 2, 2, 583, 584, 576, 574, 586, 575, 585, 577, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 588, 587, 571, 573, 572, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 581, 2, 582, 579, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 589, 2, 590, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 580 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { 0, 1698, 1698, 1701, 1705, 1715, 1717, 1719, 1721, 1723, 1725, 1727, 1729, 1731, 1733, 1735, 1737, 1739, 1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755, 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1803, 1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819, 1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837, 1839, 1841, 1843, 1845, 1847, 1849, 1851, 1853, 1855, 1857, 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895, 1897, 1899, 1901, 1903, 1905, 1907, 1909, 1911, 1935, 1937, 1939, 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955, 1957, 1959, 1961, 1989, 1991, 1993, 1995, 1997, 1999, 2001, 2003, 2005, 2007, 2009, 2011, 2017, 2019, 2021, 2023, 2025, 2027, 2029, 2031, 2033, 2039, 2049, 2053, 2057, 2063, 2067, 2079, 2089, 2090, 2104, 2111, 2117, 2128, 2134, 2143, 2150, 2156, 2165, 2172, 2180, 2185, 2190, 2196, 2201, 2207, 2212, 2218, 2222, 2227, 2233, 2241, 2249, 2253, 2258, 2264, 2269, 2275, 2280, 2286, 2290, 2294, 2298, 2303, 2307, 2311, 2315, 2319, 2327, 2331, 2335, 2339, 2343, 2347, 2355, 2363, 2367, 2376, 2378, 2386, 2390, 2394, 2398, 2406, 2410, 2414, 2418, 2422, 2426, 2434, 2442, 2450, 2454, 2462, 2466, 2470, 2474, 2482, 2487, 2493, 2497, 2501, 2505, 2509, 2513, 2521, 2525, 2529, 2537, 2541, 2545, 2553, 2557, 2561, 2565, 2573, 2577, 2581, 2585, 2590, 2594, 2598, 2602, 2606, 2610, 2614, 2622, 2626, 2634, 2638, 2646, 2650, 2664, 2668, 2672, 2676, 2684, 2688, 2692, 2696, 2704, 2708, 2712, 2716, 2720, 2724, 2728, 2736, 2740, 2745, 2751, 2755, 2763, 2771, 2775, 2779, 2783, 2791, 2795, 2803, 2807, 2815, 2819, 2827, 2831, 2835, 2839, 2843, 2852, 2860, 2864, 2872, 2876, 2884, 2892, 2896, 2900, 2904, 2908, 2916, 2920, 2924, 2928, 2932, 2936, 2940, 2944, 2948, 2952, 2956, 2960, 2964, 2968, 2972, 2976, 2980, 2984, 2988, 2992, 2996, 3004, 3008, 3016, 3020, 3024, 3032, 3040, 3044, 3048, 3052, 3056, 3060, 3064, 3068, 3072, 3076, 3080, 3084, 3088, 3092, 3096, 3100, 3104, 3108, 3112, 3116, 3120, 3124, 3128, 3132, 3136, 3140, 3144, 3148, 3152, 3156, 3160, 3164, 3168, 3172, 3176, 3180, 3184, 3188, 3192, 3196, 3200, 3204, 3208, 3212, 3216, 3220, 3224, 3228, 3232, 3236, 3240, 3244, 3248, 3252, 3256, 3260, 3264, 3268, 3272, 3276, 3284, 3288, 3296, 3301, 3307, 3312, 3318, 3322, 3326, 3330, 3338, 3346, 3351, 3357, 3361, 3369, 3373, 3377, 3381, 3389, 3393, 3401, 3405, 3409, 3413, 3421, 3425, 3429, 3433, 3441, 3449, 3453, 3461, 3469, 3473, 3481, 3485, 3489, 3493, 3501, 3517, 3525, 3533, 3541, 3545, 3553, 3558, 3564, 3568, 3572, 3580, 3584, 3592, 3597, 3603, 3607, 3611, 3615, 3619, 3623, 3627, 3631, 3635, 3639, 3643, 3647, 3651, 3659, 3664, 3670, 3675, 3681, 3686, 3692, 3696, 3704, 3712, 3716, 3720, 3724, 3729, 3735, 3739, 3747, 3755, 3759, 3763, 3767, 3771, 3775, 3783, 3787, 3791, 3795, 3799, 3803, 3807, 3812, 3818, 3823, 3829, 3834, 3840, 3844, 3852, 3856, 3864, 3868, 3872, 3880, 3884, 3892, 3900, 3904, 3912, 3916, 3924, 3929, 3935, 3939, 3947, 3952, 3958, 3963, 3969, 3973, 3977, 3981, 3989, 3993, 3997, 4001, 4005, 4009, 4013, 4017, 4021, 4029, 4033, 4038, 4044, 4048, 4056, 4060, 4064, 4068, 4076, 4084, 4088, 4093, 4099, 4103, 4107, 4111, 4115, 4119, 4123, 4127, 4131, 4135, 4143, 4147, 4155, 4159, 4163, 4167, 4171, 4175, 4179, 4187, 4192, 4198, 4203, 4209, 4213, 4221, 4229, 4234, 4240, 4244, 4249, 4254, 4260, 4264, 4272, 4276, 4284, 4289, 4295, 4299, 4303, 4307, 4312, 4318, 4326, 4334, 4338, 4342, 4346, 4350, 4358, 4363, 4369, 4374, 4380, 4388, 4392, 4400, 4404, 4408, 4416, 4421, 4427, 4431, 4436, 4442, 4446, 4450, 4455, 4461, 4466, 4472, 4477, 4483, 4491, 4495, 4503, 4507, 4515, 4519, 4523, 4531, 4535, 4543, 4551, 4555, 4560, 4566, 4570, 4578, 4586, 4591, 4597, 4605, 4609, 4617, 4621, 4629, 4634, 4640, 4645, 4651, 4655, 4663, 4667, 4671, 4675, 4679, 4683, 4687, 4691, 4695, 4699, 4703, 4707, 4711, 4715, 4723, 4728, 4734, 4738, 4742, 4746, 4754, 4758, 4766, 4770, 4778, 4783, 4789, 4793, 4801, 4806, 4812, 4816, 4824, 4829, 4835, 4840, 4846, 4854, 4859, 4865, 4869, 4877, 4881, 4889, 4894, 4900, 4904, 4908, 4913, 4921, 4929, 4934, 4940, 4948, 4952, 4956, 4960, 4964, 4968, 4972, 4976, 4980, 4984, 4988, 4992, 4996, 5004, 5012, 5016, 5020, 5024, 5032, 5036, 5044, 5049, 5055, 5059, 5067, 5072, 5078, 5082, 5090, 5098, 5102, 5110, 5114, 5118, 5122, 5130, 5138, 5146, 5154, 5158, 5166, 5171, 5177, 5181, 5189, 5194, 5200, 5204, 5208, 5216, 5220, 5224, 5228, 5236, 5244, 5248, 5256, 5261, 5267, 5271, 5279, 5283, 5291, 5295, 5303, 5311, 5319, 5327, 5332, 5338, 5343, 5349, 5354, 5360, 5365, 5371, 5376, 5382, 5387, 5393, 5397, 5401, 5405, 5409, 5417, 5425, 5429, 5437, 5441, 5449, 5453, 5457, 5465, 5469, 5477, 5481, 5485, 5489, 5493, 5501, 5506, 5512, 5516, 5524, 5532, 5536, 5544, 5548, 5556, 5564, 5569, 5575, 5580, 5586, 5590, 5598, 5603, 5609, 5613, 5621, 5625, 5630, 5636, 5640, 5644, 5648, 5656, 5661, 5668, 5670, 5678, 5682, 5686, 5690, 5694, 5698, 5706, 5710, 5718, 5722, 5730, 5738, 5742, 5750, 5758, 5762, 5766, 5770, 5778, 5787, 5791, 5795, 5799, 5803, 5807, 5811, 5815, 5819, 5823, 5827, 5831, 5835, 5839, 5843, 5847, 5855, 5863, 5867, 5875, 5879, 5887, 5891, 5895, 5899, 5903, 5907, 5915, 5923, 5927, 5935, 5943, 5948, 5954, 5958, 5966, 5970, 5974, 5978, 5986, 5991, 5997, 6005, 6009, 6017, 6021, 6025, 6029, 6033, 6041, 6046, 6052, 6057, 6063, 6067, 6072, 6078, 6084, 6090, 6098, 6102, 6110, 6114, 6122, 6126, 6134, 6138, 6146, 6150, 6158, 6166, 6174, 6178, 6182, 6186, 6190, 6194, 6198, 6202, 6206, 6210, 6214, 6218, 6226, 6230, 6234, 6238, 6242, 6246, 6250, 6254, 6258, 6262, 6266, 6270, 6274, 6282, 6286, 6290, 6294, 6298, 6306, 6310, 6314, 6318, 6322, 6326, 6330, 6334, 6342, 6346, 6350, 6358, 6362, 6370, 6374, 6382, 6386, 6394, 6398, 6406, 6414, 6418, 6423, 6429, 6433, 6437, 6441, 6445, 6449, 6453, 6457, 6461, 6465, 6469, 6473, 6477, 6481, 6485, 6489, 6493, 6497, 6505, 6509, 6517, 6521, 6525, 6529, 6533, 6537, 6541, 6545, 6549, 6553, 6561, 6566, 6572, 6576, 6584, 6588, 6592, 6596, 6605, 6614, 6623, 6632, 6641, 6650, 6659, 6672, 6686, 6700, 6714, 6728, 6742, 6756, 6775, 6794, 6813, 6827, 6846, 6860, 6879, 6897, 6901, 6909, 6914, 6920, 6928, 6932, 6940, 6944, 6948, 6952, 6956, 6964, 6968, 6976, 6980, 6984, 6988, 6992, 7000, 7004, 7012, 7016, 7024, 7028, 7032, 7036, 7040, 7044, 7048, 7052, 7056, 7060, 7064, 7068, 7072, 7076, 7080, 7084, 7088, 7092, 7096, 7100, 7104, 7112, 7116, 7124, 7128, 7136, 7141, 7147, 7151, 7159, 7163, 7171, 7175, 7183, 7191, 7195, 7199, 7207, 7212, 7218, 7226, 7231, 7237, 7241, 7245, 7253, 7257, 7261, 7269, 7273, 7277, 7281, 7285, 7289, 7297, 7301, 7309, 7314, 7320, 7325, 7331, 7335, 7343, 7347, 7355, 7359, 7363, 7371, 7376, 7382, 7386, 7394, 7399, 7405, 7409, 7414, 7420, 7424, 7429, 7435, 7439, 7443, 7447, 7455, 7460, 7466, 7470, 7478, 7482, 7490, 7494, 7502, 7506, 7510, 7514, 7522, 7526, 7534, 7538, 7546, 7550, 7554, 7558, 7562, 7570, 7574, 7578, 7582, 7586, 7594, 7602, 7610, 7614, 7618, 7626, 7630, 7634, 7642, 7650, 7654, 7658, 7662, 7670, 7674, 7682, 7690, 7694, 7702, 7707, 7713, 7717, 7725, 7729, 7733, 7737, 7741, 7745, 7749, 7753, 7757, 7761, 7765, 7769, 7773, 7777, 7781, 7785, 7789, 7797, 7801, 7805, 7809, 7813, 7821, 7825, 7833, 7841, 7845, 7850, 7856, 7861, 7867, 7871, 7879, 7883, 7891, 7896, 7902, 7910, 7914, 7922, 7926, 7930, 7938, 7942, 7950, 7955, 7961, 7965, 7969, 7973, 7977, 7981, 7989, 7993, 8001, 8005, 8013, 8017, 8021, 8025, 8033, 8037, 8045, 8049, 8057, 8065, 8073, 8077, 8085, 8089, 8097, 8101, 8105, 8113, 8117, 8122, 8128, 8136, 8141, 8147, 8155, 8159, 8163, 8167, 8175, 8183, 8187, 8191, 8199, 8203, 8211, 8215, 8223, 8228, 8234, 8238, 8246, 8250, 8254, 8258, 8262, 8266, 8270, 8274, 8278, 8282, 8286, 8290, 8294, 8298, 8302, 8306, 8310, 8314, 8318, 8322, 8326, 8330, 8334, 8338, 8342, 8346, 8350, 8354, 8358, 8362, 8366, 8370, 8374, 8378, 8382, 8386, 8390, 8394, 8398, 8402, 8406, 8410, 8414, 8418, 8422, 8426, 8430, 8434, 8438, 8442, 8446, 8450, 8454, 8458, 8462, 8470, 8475, 8481, 8486, 8492, 8496, 8500, 8504, 8508, 8512, 8520, 8525, 8531, 8535, 8539, 8543, 8547, 8551, 8555, 8559, 8563, 8567, 8571, 8575, 8579, 8583, 8587, 8591, 8595, 8599, 8603, 8607, 8611, 8615, 8619, 8623, 8627, 8631, 8635, 8643, 8651, 8655, 8663, 8667, 8675, 8679, 8683, 8687, 8691, 8699, 8707, 8711, 8715, 8719, 8723, 8727, 8731, 8735, 8739, 8743, 8747, 8751, 8755, 8759, 8763, 8767, 8771, 8775, 8779, 8783, 8787, 8791, 8795, 8799, 8807, 8811, 8815, 8823, 8827, 8831, 8835, 8839, 8843, 8847, 8855, 8859, 8867, 8871, 8875, 8879, 8887, 8895, 8899, 8903, 8907, 8911, 8915, 8919, 8923, 8927, 8935, 8939, 8947, 8955, 8959, 8963, 8971, 8975, 8983, 8987, 8991, 8995, 8999, 9007, 9012, 9018, 9022, 9026, 9030, 9038, 9042, 9047, 9053, 9061, 9066, 9072, 9080, 9084, 9092, 9096, 9100, 9104, 9108, 9112, 9116, 9120, 9124, 9128, 9132, 9136, 9144, 9148, 9156, 9160, 9165, 9171, 9175, 9179, 9183, 9187, 9195, 9199, 9203, 9211, 9216, 9222, 9226, 9231, 9237, 9241, 9245, 9249, 9257, 9261, 9265, 9270, 9276, 9284, 9292, 9297, 9303, 9307, 9315, 9319, 9323, 9331, 9335, 9339, 9343, 9347, 9351, 9355, 9363, 9368, 9374, 9378, 9382, 9386, 9394, 9402, 9406, 9410, 9414, 9422, 9426, 9434, 9442, 9450, 9454, 9462, 9470, 9474, 9478, 9482, 9486, 9490, 9494, 9502, 9507, 9513, 9521, 9525, 9529, 9533, 9537, 9541, 9549, 9553, 9561, 9569, 9573, 9577, 9581, 9589, 9594, 9600, 9604, 9612, 9616, 9624, 9628, 9636, 9640, 9648, 9656, 9660, 9664, 9672, 9676, 9681, 9687, 9692, 9698, 9703, 9709, 9714, 9720, 9725, 9731, 9736, 9742, 9750, 9754, 9762, 9767, 9773, 9777, 9781, 9785, 9793, 9797, 9801, 9805, 9809, 9813, 9817, 9821, 9825, 9829, 9837, 9843, 9853, 9858, 9864, 9868, 9872, 9876, 9880, 9888, 9893, 9897, 9905, 9910, 9916, 9924, 9928, 9936, 9940, 9944, 9948, 9952, 9960, 9964, 9972, 9976, 9984, 9992, 9996, 10001, 10007, 10011, 10016, 10022, 10027, 10033, 10041, 10046, 10052, 10060, 10065, 10071, 10075, 10079, 10083, 10087, 10091, 10095, 10099, 10107, 10112, 10118, 10122, 10127, 10133, 10141, 10145, 10153, 10157, 10165, 10173, 10177, 10185, 10193, 10197, 10205, 10209, 10213, 10217, 10221, 10229, 10234, 10240, 10248, 10256, 10260, 10264, 10268, 10272, 10280, 10288, 10339, 10343, 10356, 10358, 10362, 10366, 10370, 10374, 10383, 10389, 10393, 10401, 10405, 10413, 10417, 10425, 10429, 10433, 10437, 10441, 10445, 10449, 10453, 10461, 10465, 10473, 10477, 10481, 10485, 10489, 10493, 10497, 10505, 10509, 10513, 10521, 10525, 10533, 10541, 10545, 10550, 10556, 10560, 10565, 10571, 10575, 10580, 10586, 10591, 10597, 10602, 10604, 10610, 10614, 10618, 10622, 10626, 10630, 10634, 10638, 10642, 10650, 10655, 10661, 10665, 10670, 10676, 10680, 10688, 10693, 10699, 10704, 10710, 10718, 10722, 10730, 10734, 10742, 10746, 10750, 10754, 10762, 10767, 10773, 10777, 10782, 10786, 10790, 10794, 10802, 10806, 10814, 10818, 10826, 10834, 10838, 10842, 10850, 10854, 10862, 10866, 10874, 10878, 10886, 10891, 10897, 10901, 10909, 10913, 10917, 10921, 10925, 10933, 10941, 10949, 10957, 10965, 10970, 10976, 10980, 10988, 10993, 10999, 11003, 11011, 11019, 11023, 11027, 11031, 11039, 11044, 11050, 11054, 11062, 11067, 11073, 11077, 11085, 11089, 11093, 11097, 11101, 11105, 11109, 11113, 11117, 11121, 11129, 11133, 11137, 11141, 11145, 11149, 11157, 11161, 11165, 11169, 11177, 11182, 11188, 11193, 11199, 11203, 11207, 11211, 11216, 11222, 11226, 11230, 11234, 11242, 11247, 11253, 11257, 11265, 11269, 11277, 11281, 11285, 11293, 11297, 11305, 11309, 11313, 11321, 11329, 11334, 11340, 11344, 11352, 11360, 11364, 11372, 11377, 11383, 11388, 11394, 11399, 11405, 11409, 11415, 11421, 11426, 11432, 11436, 11444, 11452, 11456, 11464, 11468, 11476, 11480, 11484, 11492, 11496, 11504, 11508, 11512, 11516, 11524, 11528, 11536, 11540, 11548, 11550, 11552, 11556, 11560, 11564, 11572, 11582, 11593, 11602, 11606, 11610, 11614, 11618, 11622, 11626, 11634, 11638, 11642, 11646, 11654, 11658, 11666, 11671, 11677, 11681, 11685, 11689, 11693, 11697, 11701, 11705, 11709, 11713, 11717, 11725, 11730, 11736, 11740, 11748, 11752, 11760, 11768, 11776, 11780, 11788, 11792, 11800, 11808, 11816, 11820, 11824, 11828, 11832, 11836, 11844, 11849, 11855, 11859, 11863, 11867, 11875, 11883, 11887, 11892, 11898, 11902, 11906, 11910, 11914, 11918, 11922, 11926, 11930, 11934, 11938, 11942, 11946, 11951, 11957, 11961, 11969, 11973, 11977, 11981, 11985, 11989, 11993, 11997, 12001, 12005, 12009, 12013, 12017, 12021, 12025, 12029, 12033, 12037, 12041, 12045, 12049, 12053, 12057, 12061, 12065, 12069, 12073, 12077, 12081, 12085, 12089, 12093, 12097, 12101, 12105, 12109, 12113, 12117, 12121, 12125, 12129, 12133, 12137, 12141, 12145, 12149, 12153, 12157, 12161, 12165, 12169, 12173, 12177, 12181, 12185, 12189, 12193, 12197, 12202, 12206, 12210, 12214, 12218, 12222, 12226, 12230, 12234, 12242, 12246, 12250, 12254, 12258, 12262, 12266, 12270, 12274, 12278, 12282, 12286, 12290, 12294, 12298, 12302, 12306, 12310, 12314, 12318, 12322, 12326, 12334, 12338, 12342, 12346, 12350, 12354, 12358, 12362, 12366, 12370, 12374, 12378, 12382, 12386, 12394, 12398, 12402, 12406, 12410, 12414, 12418, 12426, 12430, 12434, 12442, 12446, 12450, 12458, 12462, 12466, 12470, 12474, 12478, 12482, 12486, 12490, 12494, 12498, 12502, 12506, 12510, 12514, 12518, 12522, 12526, 12530, 12534, 12538, 12542, 12546, 12550, 12554, 12558, 12562, 12566, 12570, 12574, 12578, 12582, 12586, 12590, 12594, 12598, 12602, 12606, 12610, 12614, 12618, 12622, 12626, 12630, 12634, 12638, 12642, 12646, 12650, 12654, 12658, 12662, 12666, 12674, 12678, 12686, 12690, 12694, 12699, 12705, 12713, 12717, 12725, 12729, 12737, 12741, 12749, 12753, 12758, 12764, 12768, 12773, 12779, 12783, 12787, 12791, 12799, 12803, 12811, 12816, 12822, 12827, 12833, 12838, 12844, 12848, 12856, 12864, 12868, 12873, 12879, 12887, 12891, 12898, 12903, 12909, 12913, 12917, 12922, 12928, 12932, 12940, 12944, 12948, 12952, 12956, 12964, 12968, 12972, 12976, 12981, 12987, 12991, 12995, 13003, 13007, 13015, 13023, 13027, 13031, 13039, 13043, 13051, 13055, 13059, 13063, 13067, 13071, 13075, 13079, 13083, 13087, 13091, 13095, 13103, 13107, 13115, 13119, 13127, 13131, 13135, 13139, 13143, 13147, 13155, 13159, 13167, 13171, 13179, 13183, 13187, 13195, 13200, 13206, 13210, 13218, 13222, 13226, 13234, 13238, 13246, 13254, 13258, 13262, 13266, 13270, 13274, 13278, 13282, 13290, 13294, 13298, 13302, 13310, 13314, 13322, 13330, 13334, 13338, 13342, 13346, 13354, 13358, 13362, 13370, 13374, 13382, 13390, 13394, 13402, 13410, 13415, 13421, 13426, 13432, 13436, 13444, 13448, 13452, 13456, 13464, 13469, 13475, 13479, 13488, 13490, 13498, 13503, 13509, 13517, 13522, 13528, 13533, 13539, 13544, 13550, 13554, 13558, 13562, 13566, 13574, 13578, 13582, 13586, 13590, 13597, 13601, 13609, 13613, 13621, 13625, 13630, 13636, 13640, 13645, 13651, 13655, 13663, 13667, 13675, 13680, 13686, 13691, 13697, 13701, 13709, 13713, 13717, 13721, 13729, 13733, 13741, 13745, 13753, 13757, 13765, 13773, 13781, 13789, 13793, 13801, 13805, 13809, 13813, 13817, 13821, 13825, 13829, 13833, 13837, 13841, 13845, 13849, 13853, 13854, 13859, 13865, 13869, 13870, 13874, 13882, 13890, 13894, 13898, 13902, 13910, 13914, 13922, 13926, 13930, 13934, 13942, 13946, 13954, 13958, 13962, 13966, 13970, 13974, 13978, 13982, 13986, 13990, 13994, 13998, 14002, 14006, 14010, 14014, 14018, 14022, 14026, 14030, 14034, 14038, 14042, 14046, 14050, 14054, 14058, 14062, 14066, 14070, 14074, 14078, 14082, 14086, 14090, 14094, 14098, 14102, 14106, 14110, 14114, 14118, 14122, 14126, 14130, 14134, 14138, 14142, 14146, 14150, 14154, 14158, 14162, 14166, 14170, 14174, 14178, 14182, 14186, 14190, 14194, 14198, 14202, 14206, 14210, 14214, 14218, 14222, 14226, 14230, 14234, 14238, 14242, 14246, 14250, 14254, 14258, 14262, 14266, 14270, 14274, 14278, 14282, 14286, 14290, 14294, 14298, 14302, 14306, 14310, 14314, 14318, 14322, 14326, 14330, 14334, 14338, 14342, 14346, 14350, 14354, 14358, 14362, 14366, 14370, 14374, 14378, 14382, 14386, 14390, 14394, 14398, 14402, 14406, 14410, 14414, 14418, 14422, 14426, 14430, 14434, 14438, 14442, 14446, 14450, 14454, 14458, 14462, 14466, 14470, 14474, 14478, 14482, 14486, 14490, 14494, 14498, 14502, 14506, 14510, 14514, 14518, 14522, 14526, 14530, 14534, 14538, 14542, 14546, 14550, 14554, 14558, 14562, 14566, 14570, 14574, 14578, 14582, 14586, 14590, 14594, 14598, 14602, 14606, 14610, 14614, 14618, 14622, 14626, 14630, 14634, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 14666, 14670, 14674, 14678, 14682, 14686, 14690, 14694, 14698, 14702, 14706, 14710, 14714, 14718, 14722, 14726, 14730, 14734, 14738, 14742, 14746, 14750, 14754, 14758, 14762, 14766, 14770, 14774, 14778, 14782, 14786, 14790, 14794, 14798, 14802, 14806, 14810, 14814, 14818, 14822, 14826, 14830, 14834, 14838, 14842, 14846, 14850, 14854, 14858, 14862, 14866, 14870, 14874, 14878, 14882, 14886, 14890, 14894, 14898, 14902, 14906, 14910, 14914, 14918, 14922, 14926, 14930, 14934, 14938, 14942, 14946, 14950, 14954, 14958, 14962, 14966, 14970, 14974, 14978, 14982, 14986, 14990, 14994, 14998, 15002, 15006, 15010, 15014, 15018, 15022, 15026, 15030, 15034, 15038, 15042, 15046, 15050, 15054, 15058, 15062, 15066, 15070, 15074, 15078, 15082, 15086, 15090, 15094, 15098, 15102, 15106, 15110, 15114, 15118, 15122, 15126, 15130, 15134, 15138, 15142, 15146, 15150, 15154, 15158, 15162, 15166, 15170, 15174, 15182, 15186, 15190, 15194, 15198, 15202, 15206, 15210, 15214, 15218, 15222, 15226, 15230, 15234, 15238, 15242, 15246, 15250, 15254, 15258, 15262, 15266, 15270, 15274, 15278, 15282, 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 15322, 15326, 15330, 15334, 15338, 15342, 15346, 15350, 15354, 15358, 15362, 15366, 15370, 15374, 15378, 15382, 15386, 15394, 15398, 15402, 15406, 15410, 15414, 15418, 15422, 15426, 15430, 15434, 15438, 15442, 15446, 15450, 15454, 15458, 15462, 15466, 15470, 15474, 15478, 15482, 15490, 15494, 15498, 15502, 15506, 15510, 15514, 15518, 15522, 15526, 15530, 15534, 15538, 15542, 15546, 15550, 15554, 15558, 15562, 15566, 15570, 15574, 15578, 15582, 15586, 15590, 15594, 15598, 15602, 15606, 15610, 15614, 15618, 15622, 15626, 15630, 15634, 15638, 15642, 15646, 15650, 15654, 15658, 15662, 15666, 15670, 15674, 15678, 15682, 15686, 15690, 15694, 15698, 15702, 15706, 15710, 15714, 15718, 15722, 15726, 15730, 15734, 15738, 15742, 15746, 15750, 15754, 15758, 15762, 15766, 15770, 15774, 15778, 15782, 15786, 15790, 15798, 15802, 15806, 15810, 15814, 15818, 15822, 15826, 15830, 15834, 15838, 15842, 15846, 15850, 15854, 15858, 15862, 15866, 15870, 15874, 15878, 15882, 15886, 15890, 15894, 15898, 15902, 15906, 15910, 15914, 15918, 15922, 15926, 15930, 15934, 15938, 15942, 15946, 15950, 15954, 15958, 15962, 15966, 15970, 15974, 15978, 15982, 15986, 15990, 15994, 15998, 16002, 16006, 16010, 16014, 16018, 16022, 16026, 16030, 16034, 16038, 16042, 16046, 16050, 16054, 16058, 16062, 16066, 16070, 16074, 16078, 16082, 16086, 16090, 16094, 16098, 16102, 16106, 16110, 16114, 16118, 16122, 16126, 16130, 16134, 16138, 16142, 16146, 16150, 16154, 16158, 16162, 16166, 16170, 16174, 16178, 16182, 16186, 16190, 16194, 16198, 16202, 16206, 16210, 16214, 16218, 16222, 16226, 16230, 16234, 16238, 16242, 16246, 16250, 16254, 16258, 16262, 16266, 16270, 16274, 16278, 16282, 16286, 16290, 16294, 16298, 16302, 16306, 16310, 16314, 16318, 16322, 16326, 16330, 16334, 16338, 16342, 16346, 16350, 16354, 16358, 16362, 16366, 16370, 16374, 16378, 16382, 16386, 16390, 16394, 16398, 16402, 16406, 16410, 16414, 16418, 16422, 16426, 16430, 16434, 16438, 16442, 16446, 16450, 16454, 16458, 16462, 16466, 16470, 16474, 16478, 16482, 16486, 16490, 16494, 16498, 16502, 16506, 16510, 16514, 16518, 16522, 16526, 16530, 16534, 16538, 16542, 16546, 16550, 16554, 16558, 16562, 16566, 16570, 16574, 16578, 16582, 16586, 16590, 16594, 16598, 16602, 16606, 16610, 16614, 16618, 16622, 16626, 16630, 16634, 16638, 16642, 16646, 16650, 16654, 16658, 16662, 16666, 16670, 16674, 16678, 16682, 16686, 16690, 16694, 16698, 16702, 16706, 16710, 16714, 16718, 16722, 16726, 16730, 16734, 16738, 16742, 16746, 16750, 16754, 16758, 16762, 16766, 16770, 16774, 16778, 16782, 16786, 16790, 16794, 16798, 16802, 16806, 16810, 16814, 16818, 16822, 16826, 16830, 16834, 16838, 16842, 16846, 16850, 16854, 16858, 16862, 16866, 16870, 16874, 16878, 16882, 16886, 16890, 16894, 16898, 16902, 16906, 16910, 16914, 16918, 16922, 16926, 16930, 16934, 16938, 16942, 16946, 16950, 16954, 16958, 16962, 16966, 16970, 16974, 16978, 16982, 16986, 16990, 16994, 16998, 17002, 17006, 17010, 17014, 17018, 17022, 17026, 17030, 17034, 17038, 17042, 17046, 17050, 17054, 17058, 17062, 17066, 17070, 17074, 17078, 17082, 17086, 17090, 17094, 17098, 17102, 17106, 17110, 17114, 17118, 17122, 17126, 17130, 17134, 17138, 17142, 17146, 17150, 17154, 17158, 17162, 17166, 17170, 17174, 17178, 17182, 17186, 17190, 17194, 17198, 17202, 17206, 17210, 17214, 17218, 17222, 17226, 17230, 17234, 17238, 17242, 17246, 17250, 17254, 17258, 17262, 17266, 17270, 17274, 17278, 17282, 17286, 17290, 17294, 17298, 17302, 17306, 17310, 17314, 17318, 17322, 17326, 17330, 17334, 17338, 17342, 17346, 17350, 17354, 17358, 17362, 17366, 17370, 17374, 17378, 17382, 17386, 17390, 17394, 17398, 17402, 17406, 17410, 17414, 17418, 17422, 17426, 17430, 17434, 17438, 17442, 17446, 17450, 17454, 17458, 17462, 17466, 17470, 17474, 17478, 17482, 17486, 17490, 17494, 17498, 17502, 17506, 17510, 17514, 17518, 17522, 17532, 17533, 17536, 17542, 17548, 17554, 17555, 17556, 17557, 17558, 17571, 17571, 17578, 17578, 17587, 17602, 17604, 17607, 17609, 17613, 17625, 17641, 17645, 17656, 17657, 17660, 17672, 17681, 17682, 17685, 17686, 17687, 17690, 17691, 17694, 17695, 17698, 17699, 17702, 17704, 17706, 17708, 17712, 17719, 17726, 17742, 17776, 17786, 17789, 17793, 17806, 17807, 17809, 17811, 17815, 17829, 17835, 17872, 17934, 17943, 17945, 17946, 17949, 17951, 17952, 17955, 17956, 17957, 17958, 17959, 17966, 17965, 17975, 17977, 17979, 17980, 17983, 17984, 17985, 17986, 17989, 17990, 17994, 17993, 18010, 18009, 18025, 18024, 18039, 18045, 18046, 18049, 18051, 18052, 18055, 18056, 18057, 18058, 18061, 18062, 18065, 18073, 18090, 18098, 18106, 18114, 18142, 18150, 18159, 18167, 18175, 18183, 18191, 18311, 18345, 18347, 18349, 18353, 18357, 18356, 18407, 18409, 18408, 18423, 18429, 18436, 18441, 18447, 18448, 18451, 18452, 18453, 18454, 18455, 18456, 18457, 18458, 18459, 18462, 18463, 18464, 18465, 18466, 18467, 18468, 18469, 18470, 18471, 18474, 18475, 18478, 18480, 18489, 18589, 18590, 18597, 18598, 18599, 18605, 18614, 18617, 18618, 18619, 18620, 18623, 18624, 18625, 18628, 18630, 18638, 18639, 18645, 18653, 18654, 18657, 18658, 18661, 18666, 18673, 18678, 18685, 18692, 18692, 18694, 18701, 18702, 18705, 18706, 18707, 18708, 18709, 18710, 18711, 18712, 18713, 18719, 18724, 18734, 18739, 18744, 18751, 18752, 18764, 18775, 18786, 18790, 18791, 18794, 18799, 18803, 18804, 18807, 18813, 18821, 18827, 18834, 18838, 18839, 18842, 18845, 18849, 18850, 18853, 18859, 18868, 18873, 18883, 18893, 18905, 18906, 18907, 18908, 18909, 18910, 18911, 18912, 18913, 18914, 18915, 18916, 18917, 18918, 18919, 18926, 18927, 18930, 18931, 18938, 18939, 18940, 18947, 18946, 18963, 18964, 18971, 18970, 19041, 19047, 19053, 19061, 19067, 19073, 19079, 19085, 19091, 19097, 19103, 19109, 19115, 19126, 19127, 19130, 19131, 19132, 19133, 19134, 19135, 19136, 19137, 19138, 19139, 19140, 19141, 19142, 19143, 19144, 19145, 19146, 19147, 19148, 19149, 19150, 19151, 19154, 19155, 19156, 19157, 19158, 19159, 19163, 19164, 19165, 19166, 19167, 19168, 19169, 19172, 19175, 19176, 19177, 19178, 19179, 19180, 19181, 19182, 19195, 19196, 19197, 19198, 19199, 19200, 19201, 19206, 19207, 19208, 19209, 19210, 19211, 19217, 19218, 19219, 19220, 19221, 19222, 19223, 19224, 19225, 19226, 19227, 19230, 19231, 19232, 19233, 19234, 19235, 19236, 19237, 19240, 19241, 19242, 19243, 19244, 19245, 19246, 19263, 19264, 19265, 19268, 19269, 19270, 19271, 19272, 19273, 19277, 19277, 19280, 19286, 19287, 19290, 19292, 19297, 19307, 19318, 19325, 19326, 19327, 19330, 19363, 19365, 19367, 19369, 19371, 19373, 19374, 19377, 19379, 19387, 19388, 19389, 19393, 19394, 19398, 19399, 19402, 19403, 19406, 19407, 19408, 19409, 19410, 19413, 19414, 19415, 19416, 19417, 19418, 19419, 19420, 19421, 19422, 19423, 19424, 19425, 19426, 19427, 19428, 19429, 19430, 19431, 19432, 19433, 19434, 19435, 19436, 19437, 19438, 19439, 19440, 19441, 19442, 19443, 19444, 19445, 19446, 19447, 19448, 19449, 19450, 19451, 19452, 19453, 19454, 19455, 19456, 19457, 19458, 19459, 19460, 19461, 19462, 19463, 19464, 19465, 19466, 19467, 19468, 19471, 19472, 19473, 19474, 19477, 19478, 19479, 19480, 19481, 19482, 19483, 19484, 19485, 19486, 19493, 19494, 19495, 19496, 19499, 19500, 19503, 19504, 19507, 19508, 19519, 19520 }; #endif /** Accessing symbol of state STATE. */ #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) #if YYDEBUG || 0 /* The user-facing name of the symbol whose (internal) number is YYSYMBOL. No bounds checking. */ static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "\"end of file\"", "error", "\"invalid token\"", "SQL_ALLOCATE", "SQL_AUTOCOMMIT", "SQL_BOOL", "SQL_BREAK", "SQL_CARDINALITY", "SQL_CONNECT", "SQL_COUNT", "SQL_DATETIME_INTERVAL_CODE", "SQL_DATETIME_INTERVAL_PRECISION", "SQL_DESCRIBE", "SQL_DESCRIPTOR", "SQL_DISCONNECT", "SQL_FOUND", "SQL_FREE", "SQL_GET", "SQL_GO", "SQL_GOTO", "SQL_IDENTIFIED", "SQL_INDICATOR", "SQL_KEY_MEMBER", "SQL_LENGTH", "SQL_LONG", "SQL_NULLABLE", "SQL_OCTET_LENGTH", "SQL_OPEN", "SQL_OUTPUT", "SQL_REFERENCE", "SQL_RETURNED_LENGTH", "SQL_RETURNED_OCTET_LENGTH", "SQL_SCALE", "SQL_SECTION", "SQL_SHORT", "SQL_SIGNED", "SQL_SQLERROR", "SQL_SQLPRINT", "SQL_SQLWARNING", "SQL_START", "SQL_STOP", "SQL_STRUCT", "SQL_UNSIGNED", "SQL_VAR", "SQL_WHENEVER", "S_ADD", "S_AND", "S_ANYTHING", "S_AUTO", "S_CONST", "S_DEC", "S_DIV", "S_DOTPOINT", "S_EQUAL", "S_EXTERN", "S_INC", "S_LSHIFT", "S_MEMPOINT", "S_MEMBER", "S_MOD", "S_MUL", "S_NEQUAL", "S_OR", "S_REGISTER", "S_RSHIFT", "S_STATIC", "S_SUB", "S_VOLATILE", "S_TYPEDEF", "CSTRING", "CVARIABLE", "CPP_LINE", "IP", "IDENT", "UIDENT", "FCONST", "SCONST", "USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC", "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_OBJECT", "JSON_OBJECTAGG", "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", "MAXVALUE", "MERGE", "METHOD", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA", "NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "','", "';'", "':'", "'{'", "'}'", "$accept", "prog", "toplevel_stmt", "stmt", "opt_single_name", "opt_qualified_name", "opt_concurrently", "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList", "schema_stmt", "VariableSetStmt", "set_rest", "generic_set", "set_rest_more", "var_name", "var_list", "var_value", "iso_level", "opt_boolean_or_string", "zone_value", "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest", "generic_reset", "SetResetClause", "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode", "CheckPointStmt", "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd", "index_partition_cmd", "alter_table_cmd", "alter_column_default", "opt_collate_clause", "alter_using", "replica_identity", "reloptions", "opt_reloptions", "reloption_list", "reloption_elem", "alter_identity_column_option_list", "alter_identity_column_option", "PartitionBoundSpec", "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program", "copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter", "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg", "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp", "OptTableElementList", "OptTypedTableElementList", "TableElementList", "TypedTableElementList", "TableElement", "TypedTableElement", "columnDef", "columnOptions", "column_compression", "opt_column_compression", "column_storage", "opt_column_storage", "ColQualList", "ColConstraint", "ColConstraintElem", "opt_unique_null_treatment", "generated_when", "ConstraintAttr", "TableLikeClause", "TableLikeOptionList", "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list", "columnList", "columnElem", "opt_c_include", "key_match", "ExclusionConstraintList", "ExclusionConstraintElem", "OptWhereClause", "key_actions", "key_update", "key_delete", "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec", "part_params", "part_elem", "table_access_method_clause", "OptWith", "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt", "stats_params", "stats_param", "AlterStatsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt", "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt", "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList", "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler", "validator_clause", "opt_validator", "opt_procedural", "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt", "CreateExtensionStmt", "create_extension_opt_list", "create_extension_opt_item", "AlterExtensionStmt", "alter_extension_opt_list", "alter_extension_opt_item", "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option", "fdw_options", "opt_fdw_options", "AlterFdwStmt", "create_generic_options", "generic_option_list", "alter_generic_options", "alter_generic_option_list", "alter_generic_option_elem", "generic_option_elem", "generic_option_name", "generic_option_arg", "CreateForeignServerStmt", "opt_type", "foreign_server_version", "opt_foreign_server_version", "AlterForeignServerStmt", "CreateForeignTableStmt", "ImportForeignSchemaStmt", "import_qualification_type", "import_qualification", "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt", "RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole", "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt", "TriggerActionTime", "TriggerEvents", "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions", "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName", "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable", "ConstraintAttributeSpec", "ConstraintAttributeElem", "CreateEventTrigStmt", "event_trigger_when_list", "event_trigger_when_item", "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger", "CreateAssertionStmt", "DefineStmt", "definition", "def_list", "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt", "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list", "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose", "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt", "opclass_drop_list", "opclass_drop", "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt", "object_type_any_name", "object_type_name", "drop_type_name", "object_type_name_on_any_name", "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt", "opt_restart_seqs", "CommentStmt", "comment_text", "SecLabelStmt", "opt_provider", "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege", "parameter_name_list", "parameter_name", "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt", "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt", "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique", "access_method_clause", "index_params", "index_elem_options", "index_elem", "opt_include", "index_including_params", "opt_collate", "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args", "func_args_list", "function_with_argtypes_list", "function_with_argtypes", "func_args_with_defaults", "func_args_with_defaults_list", "func_arg", "arg_class", "param_name", "func_return", "func_type", "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list", "aggregate_with_argtypes", "aggregate_with_argtypes_list", "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body", "routine_body_stmt_list", "routine_body_stmt", "transform_type_list", "opt_definition", "table_func_column", "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes", "any_operator", "operator_with_argtypes_list", "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt", "transform_element_list", "DropTransformStmt", "ReindexStmt", "reindex_target_relation", "reindex_target_all", "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt", "opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list", "operator_def_elem", "operator_def_arg", "AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec", "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt", "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt", "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt", "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item", "transaction_mode_list", "transaction_mode_list_or_empty", "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items", "createdb_opt_item", "createdb_opt_name", "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt", "drop_option_list", "drop_option", "AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with", "CreateConversionStmt", "ClusterStmt", "cluster_index_specification", "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword", "utility_option_elem", "utility_option_name", "utility_option_arg", "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list", "ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt", "execute_param_clause", "InsertStmt", "insert_target", "insert_rest", "override_kind", "insert_column_list", "insert_column_item", "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause", "set_target", "set_target_list", "MergeStmt", "merge_when_list", "merge_when_clause", "opt_merge_when_condition", "merge_update", "merge_delete", "merge_insert", "merge_values_clause", "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens", "select_clause", "simple_select", "with_clause", "cte_list", "common_table_expr", "opt_materialized", "opt_search_clause", "opt_cycle_clause", "opt_with_clause", "into_clause", "OptTempTableName", "opt_table", "set_quantifier", "distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause", "sortby_list", "sortby", "select_limit", "opt_select_limit", "limit_clause", "offset_clause", "select_limit_value", "select_offset_value", "select_fetch_first_value", "I_or_F_const", "row_or_rows", "first_or_next", "group_clause", "group_by_list", "group_by_item", "empty_grouping_set", "rollup_clause", "cube_clause", "grouping_sets_clause", "having_clause", "for_locking_clause", "opt_for_locking_clause", "for_locking_items", "for_locking_item", "for_locking_strength", "locked_rels_list", "values_clause", "from_clause", "from_list", "table_ref", "joined_table", "alias_clause", "opt_alias_clause", "opt_alias_clause_for_join_using", "func_alias_clause", "join_type", "opt_outer", "join_qual", "relation_expr", "extended_relation_expr", "relation_expr_list", "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause", "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list", "opt_ordinality", "where_clause", "where_or_current_clause", "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement", "xmltable", "xmltable_column_list", "xmltable_column_el", "xmltable_column_option_list", "xmltable_column_option_el", "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime", "ConstInterval", "opt_timezone", "opt_interval", "interval_second", "a_expr", "b_expr", "c_expr", "func_application", "func_expr", "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version", "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list", "xml_attribute_el", "document_or_content", "xml_indent_option", "xml_whitespace_option", "xmlexists_argument", "xml_passing_mech", "within_group_clause", "filter_clause", "window_clause", "window_definition_list", "window_definition", "over_clause", "window_specification", "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause", "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr", "func_arg_list_opt", "type_list", "array_expr", "array_expr_list", "extract_list", "extract_arg", "unicode_normal_form", "overlay_list", "position_list", "substr_list", "trim_list", "in_expr", "case_expr", "when_clause_list", "when_clause", "case_default", "case_arg", "columnref", "indirection_el", "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric", "json_value_expr", "json_format_clause_opt", "json_encoding_clause_opt", "json_output_clause_opt", "json_predicate_type_constraint", "json_key_uniqueness_constraint_opt", "json_name_and_value_list", "json_name_and_value", "json_object_constructor_null_clause_opt", "json_array_constructor_null_clause_opt", "json_value_expr_list", "json_aggregate_func", "json_array_aggregate_order_by_clause_opt", "opt_target_list", "target_list", "target_el", "qualified_name_list", "qualified_name", "name_list", "name", "attr_name", "file_name", "func_name", "AexprConst", "Iconst", "SignedIconst", "RoleId", "RoleSpec", "role_list", "NonReservedWord", "BareColLabel", "unreserved_keyword", "col_name_keyword", "type_func_name_keyword", "reserved_keyword", "bare_label_keyword", "statements", "statement", "CreateAsStmt", "$@1", "$@2", "at", "ECPGConnect", "connection_target", "opt_database_name", "db_prefix", "server", "opt_server", "server_name", "opt_port", "opt_connection_name", "opt_user", "ora_user", "user_name", "char_variable", "opt_options", "connect_options", "opt_opt_value", "prepared_name", "ECPGDeclareStmt", "ECPGCursorStmt", "ECPGExecuteImmediateStmt", "ECPGVarDeclaration", "single_vt_declaration", "precision", "opt_scale", "ecpg_interval", "ECPGDeclaration", "$@3", "sql_startdeclare", "sql_enddeclare", "var_type_declarations", "vt_declarations", "variable_declarations", "type_declaration", "$@4", "var_declaration", "$@5", "$@6", "opt_bit_field", "storage_declaration", "storage_clause", "storage_modifier", "var_type", "enum_type", "enum_definition", "struct_union_type_with_symbol", "$@7", "struct_union_type", "$@8", "s_struct_union_symbol", "s_struct_union", "simple_type", "unsigned_type", "signed_type", "opt_signed", "variable_list", "variable", "opt_initializer", "opt_pointer", "ECPGDeclare", "ECPGDisconnect", "dis_name", "connection_object", "execstring", "ECPGFree", "ECPGOpen", "opt_ecpg_using", "ecpg_using", "using_descriptor", "into_descriptor", "into_sqlda", "using_list", "UsingValue", "UsingConst", "ECPGDescribe", "opt_output", "ECPGAllocateDescr", "ECPGDeallocateDescr", "ECPGGetDescriptorHeader", "ECPGGetDescHeaderItems", "ECPGGetDescHeaderItem", "ECPGSetDescriptorHeader", "ECPGSetDescHeaderItems", "ECPGSetDescHeaderItem", "IntConstVar", "desc_header_item", "ECPGGetDescriptor", "ECPGGetDescItems", "ECPGGetDescItem", "ECPGSetDescriptor", "ECPGSetDescItems", "ECPGSetDescItem", "AllConstVar", "descriptor_item", "ECPGSetAutocommit", "on_off", "ECPGSetConnection", "ECPGTypedef", "$@9", "opt_reference", "ECPGVar", "$@10", "ECPGWhenever", "action", "ECPGKeywords", "ECPGKeywords_vanames", "ECPGKeywords_rest", "ECPGTypeName", "symbol", "ECPGColId", "ColId", "type_function_name", "ColLabel", "ECPGColLabel", "ECPGCKeywords", "all_unreserved_keyword", "ECPGunreserved_interval", "into_list", "ecpgstart", "c_args", "coutputvariable", "civarind", "char_civar", "civar", "indicator", "cvariable", "ecpg_param", "ecpg_bconst", "ecpg_fconst", "ecpg_sconst", "ecpg_xconst", "ecpg_ident", "quoted_ident_stringvar", "c_stuff_item", "c_stuff", "c_list", "c_term", "c_thing", "c_anything", "DeallocateStmt", "Iresult", "execute_rest", "ecpg_into", "opt_ecpg_into", "ecpg_fetch_into", "opt_ecpg_fetch_into", YY_NULLPTR }; static const char * yysymbol_name (yysymbol_kind_t yysymbol) { return yytname[yysymbol]; } #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_int16 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, 60, 62, 61, 43, 45, 42, 47, 37, 94, 826, 91, 93, 40, 41, 46, 44, 59, 58, 123, 125 }; #endif #define YYPACT_NINF (-6179) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) #define YYTABLE_NINF (-3597) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const int yypact[] = { -6179, 626, 15192, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 25814, -6179, -6179, -6179, -6179, -6179, 5390, 1224,145844, 436, 95327,100322, 1531,104762, -6179, 80878, 1721, -6179, 1128, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1380, 2010, 17026, -6179, -6179,100877, 210, 83102, -6179,101432, 1612, 1243, 167, 224, 10074,101987, 96992, 1282,105317, 934, 437, 17493, 2010, 39854,105872, 3715, 76977, -6179, 95882, 1704, 238, 114752, 1936, 1537, 77535,114752, 1559,106427, 1767, 1915, 1680, 115307,115862, 93662, 1192,114752, 2003, 1722, 79766,116417, 1947, 106982, -6179, 1537, -6179, 80878, 75859, 188, 1948, -6179,116972, 114752, 2319, 1962, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1694, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1057, -6179, 876, 1989, 2095, 949, 2032, -6179, 6552, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1845, 1747, -6179, -6179, -6179, 2052, -6179, 2055, -6179, -6179, -6179, 1763, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 2618, 5678,104762, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 97547, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 304, -6179, -6179, -6179, -6179, -6179,104762,104762, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,104762, 2153, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 454, 2439, -6179, -6179, 80878, 2317, 2317, 2686, 1845, 2238, 2248, 2271, 2293, 2212, 2316, 426, -6179, -6179, -6179, -6179, -6179, 2713, 83102,114752,114752,114752, 2425, 114752, 2332,114752, 393, 83102,149270,107537, 2521, 2354, 70722, 117527, -6179, 83102,114752,146825, 83102,114752,114752,118082,114752, 118637,114752, 1971,102542,114752, 2448,114752,114752,147314,119192, 2620, -6179, 2885, 1842, -6179, 2361, -6179, 296, -6179, 1870, -6179, 309, 315, 328, -6179, -6179, -6179,145351,114752, 5937, 1936, 2713, -6179, 2319,114752, 2630,114752, 2403,119747,114752, -6179,114752, 2469,120302, 497, 2414,149270, 2471, 71296, 2577, 114752,114752,149270,120857,121412,121967,114752,114752, -6179, -6179, 2533,114752, -6179, 2664,149759, 1857, 2702, 2844, 2775, 1310, -6179, -6179, 2942, 2464, -6179, -6179, 2985,104762, -6179,103097, -6179, -6179, -6179, 426, 2700, -6179, 2588, 2597, 2608, -6179, -6179, -6179, -6179, -6179,152204, 437, -6179, -6179, 2753, 83658, 2867, -6179, -6179,122522, 88662, 2659, -6179, 918, 84214,150248, 3000, 2632, 71870, 3040, -6179, 84770, -6179,150737, 85326, -6179, -6179, -6179, -6179, -6179,123077, -6179,123632, 2728, 2867, -6179, 89218,151226, -6179, 2889,124187,124742,125297, 2713, 16797, -6179, 2611, 2640, 2641, 1609,104762,104762, 1968,142378, -6179, -6179, 2743, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 400, 2106, 78093, 264, 78651, -6179, -6179, 893, 894, 903, 400, 3146, 3146, 761,104762, -6179, -6179, 2106, -6179, 965, 808, 2761, 2720, 2720, 2720, 2931, 91, -6179, 2720, 2857, -6179, -6179, -6179, -6179, -6179,106982, 78093, 78651, -6179, 2755, 426, 1936, 279, 3182, 2811,145351, 1446,114752, -6179, -6179, -6179, 3230, 2793, 3063, -6179, 2772, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3004, 3008, 180, 745, 1936, 300, -6179, 3145, -6179, 3022, 47922, 47922, 1710,104762, 1936, 79209,108092,137507, 259,152204, 1936,125852, 2831, 1306, 3030, -6179, -6179, -6179, 684, -6179, 3283, 2853, 3124, 782, 1842, 67342, -6179, -6179, 2849, 1870,106982, 91997, -6179, -6179, -6179, -6179,145351, 3175, 53133,114752, 2847, -6179, 2862, 2847, 2852, 2866, 2095, -6179,145351,114752, 1863, 1863, 3322, 1863, 2049, 2176, -6179, 2081, -6179, 3211, 3185, 3186,106982, 2896, 2010, 2898, -6179, -6179, -6179, 2912, -6179, 2903, 2904, -6179, 1075, 3218, -6179, -6179, -6179, -6179, -6179, 3294, -6179, -6179, -6179, -6179, -6179, -6179, 3424, 3421,146336,146336, 831, 953, 305, 308, -6179, -6179, -6179, 3266, -6179, -6179, 3270, 3081,114752, -6179, -6179,114752, -6179,126407, -6179, -6179, 2317, 2912, 1386, 228, 3126, 3246, 3146, 1600, 2555, 2555, -6179, -6179, 2994, -6179, 1290, -6179, 1780, 2998, 2171, 3001, 1920, 1679, -6179, 752,114752, 371, 3039,108647, 9498, 3006, 3007, 1870, 3174, 478, 3327, 3372, 9611, 426,109202, -6179, -6179, -6179, -6179, 114752,114752, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3014, 1596, -6179, -6179, 3015, 3374, 3234, 12119, 927, 3333, 3183, 1411, 13384, 3237, 850, 3382, 8231, 1890, 3384, 2059, 2490,126962,138062, 3344, 3389, 7101, 1894, 1020, 3250, 1110, 3333, 3379, 3201, 1411, 3403, 5142,114752, 3041, -6179, 3319, 3441, 1142, -6179, 248, -6179, 40414, 53133, 74741, -6179, 1870, -6179, 2386, -6179, -6179,144862, -6179, 3112, 3269, 1274, 83102, 3055,114752,114752, -6179, 89774, 83102, -6179, 3284, 72444, 83102, -6179, 83102, -6179, -6179, 3408, 89774,114752,114752, -6179, 114752, -6179, -6179, 3064, -6179, -6179, -6179, -6179, -6179, 2720, 114752, 3505, 89774, 3299, 362, 2063, 3543,114752, 3303, 2063, 3110,127517, -6179, -6179, 2063, -6179, -6179,114752,114752, 3073, 1627, 3292, 193, 2063, 3308, 3541, 3545, 3310, 3157, 3315, 2862, -6179, 3506, 3287, 1028, 262, 2299, 2063, 3136,128072, 128627,114752, 3137,114752, 3517, 83102, 3173, 83102, 83102,114752, 3439,114752, -6179, 3277,109757, -6179, 3094, 2942, -6179, -6179, -6179, -6179, 2994, -6179, 1181, -6179, -6179, -6179, -6179, -6179, -6179, 3459, -6179, 260, 3461, 3104, 3465, 1919, -6179, 3160, -6179, 3160, 3160, 3109, 3109, 3301, 3117, 3477, -6179, -6179, -6179, 2773, 3160, 3109, -6179, 90886, -6179, 2148, 2183, -6179, 278, -6179, 3597, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3122, -6179, 1695, -6179, 2380, -6179, -6179, -6179, -6179, 3162, -6179, 3483, 310, -6179, 3484, -6179, 3125,129182, -6179, 129737,130292, 3486, 320, -6179,149270, 3488, 310, 3489, 3125, 3492, 310, 3493, 973, 3494, -6179, 1312, 3487, 3497, 278, 3500, 2370, 3125, -6179, 3502, 321, -6179, 3508, 329, -6179, 3509, 3364, -6179, 17723, 16797, -6179, 20593, 2224, -6179, -6179, -6179, -6179, -6179, -6179, 53133, 998, 3245, -6179, -6179, 2395, 1968, 2106, -6179,104762, 2106,104762, 761, 2106,104762, 2106, 104762, 761, 2106,104762,104762,104762, 2106, -6179, -6179, 422, 364, -6179, -6179, -6179, -6179, -6179,104762, 3151,114752, -6179, 114752, -6179, -6179, -6179, 98102,149270, 98657, -6179,114752, -6179, 159,104762, -6179,104762, -6179, 1936, -6179, 2994, -6179, 2640, 89774, 3627,149270, 3517, 2398, -6179, -6179, 3517, -6179, -6179, 3517, 3517, -6179, -6179, -6179, 3425,114752, 3501, 98102,149270, 3510, -6179,130847, -6179,152204, 3373, 3159, -6179, -6179, -6179, -6179, 2408, 3664, 274, 3675, 53133, 3170, 274, 274, 3172, 3520, -6179, -6179, -6179, 334, 3176, 3177, -6179, 252, 252, -6179, 3178, 3179, -6179, 269, 3181, 3187, 3692, 276, 3190, 3191, 3195, 3196, 3198, 3199, 3200, 2773, 274, 3203, 53133, -6179, 3204, 252, 3205, 3208, 3209, 3693, 3210, -6179, 3721, 3216, -6179, 246, 336, 3219, 3222, -6179, 3450, -6179, 289, 3228, 3229, 3231, 3232, 3238, 3239, 3240, 3243, 53133, 53133, 53133, -6179, 45027, 1870, 1936, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 292,142875, -6179, 3279, -6179, -6179, 3451, -6179, -6179, 53133, -6179, -6179, 3594, 433, -6179, 293, -6179, -6179, 1870, -6179, -6179, 2154, -6179, -6179, -6179, -6179, -6179, 3544, 3244, 2474, 2474, 311, -6179,100877,100877, -6179, -6179, 1648, 3249, -6179, 481, -6179, -6179, -6179, -6179, -6179, -6179, 151715, 3723, -6179, 446, 1936, 248, 2116, 3657,143386,143878, 3547, 3547, 3521, -6179, -6179,114752, -6179, -6179, 1870, 194, 3546, 2416, -6179, 2743, 19001, 2421, 2847,114752,114752, 3730, -6179, -6179, 2431, -6179, 3253, -6179, 2862, -6179, -6179, 2095, 2095, 53133, 2095, 933, 1207, 48501, 53712, 3603, 3480, 1777, 2149, 3615, -6179, 3496, 2049, 2176,106982,114752,106982,131402, 3399, 53133, -6179, 2912, 3282, 2350, -6179, 91997, 2788, 2788, 3574, -6179, -6179, 3672,100877, 3341,146336, -6179, -6179,114752, -6179, -6179,110312, -6179, -6179, -6179, 2607, 3278, -6179, 3290, 114752, 3852, 2555, 2555, -6179, -6179, 3280, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1845,114752, -6179, 3285, 3289, 3291, 3293, -6179, 91997, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3286, -6179, -6179, -6179, -6179, -6179, 426, 3295, -6179, 3729, 3380, 3383, 3440, 75300, -6179, 3387, 3353, 3392, 3444, 80878, 3306, 3393, 3395, 3452, 3580, -6179, -6179, 3400, 3747, 3402,138617, -6179, -6179, 1081, -6179, -6179, -6179, 1081, -6179, 3325, -6179, 1816, 1303, 1634, 3407, 284, 1228, 3739, -6179, 1705, -6179, -6179, 3464, -6179, 19061,114752, 3684, 5907, 3548, 426, 3462, -6179, -6179, -6179, 3606, 3414,114752, 3418, 3562, 426, 369,139172, -6179, -6179,114752, -6179, -6179, -6179, -6179, 3743, 3722, 43314, -6179, 2151, 3427, 3405, 3448,114752, 92552, 2547, 3553, 3575, 2048, 2568, 326, 3507,114752, 2033, 3581,114752, 3362, 3449, 3453, 3686, 3365, 631, 3788, 3368, -6179, -6179, -6179, 3754, 3576, 3690, 3735, 7147, 3442, 3445, 86994, -6179, 3463, 95, 73018,114752,114752, 3468, 3471,139727, 3743, 3764, 99212, 99212, 3472, 3473, 65666, 3779, 2158, 3475, -6179, -6179, -6179, 2158, 3476, 3478,140282, 3743, 3777,114752, 3479, 3481,114752, 90886, 426, -6179, 3848, 426, 426, 2429, 3851, 3485, 412, 3648, 587, 2063, 3368, 3340, -6179, 3490, 3512, 1026, -6179, 3617,114752, 3515, 3516, 2023, 3579, 1936, -6179, 3584, -6179, 3519, 3585, 3522, 120, 3073, -6179, -6179, 1760, 3511,106982, 3611, 3616, 2033, 483, 613, 3368, -6179, 3524, 3527, 3365, 3365,114752,114752,114752,114752,114752, 263, 3884, 3886, 3528, 442, 716, 3419, -6179, 2158,147803, 3529, -6179, 2158,114752, 488, 1041, 3368, 1963, -6179, 2007, -6179, -6179, -6179, 1842, -6179, 53133, 53133, 53133, 3420, -6179, 2928, 19001, 889, -6179, 314, 14463, 3426, -6179, -6179, -6179, -6179, 114752,145351, -6179, -6179, -6179, -6179, -6179, -6179, -6179,114752, -6179,114752, 3726, 89774, 3727, 3641, 3737, 3738, 426,114752, 114752, 3741, 3742, 3744, 89774, 3745, 3746, 3748, 3665, 3537, 241, 3531, 3457, 3933, 3818,114752, 80878, -6179, 1081, -6179, 89774, 3678, 3821, -6179,114752, 3696, 116, -6179, 3858, 3533, -6179, -6179, 140,114752, 96437, 3073, -6179, -6179, 3824,149270, 1448, 3825, 1936, 3518, 3828, 3691, 1936,149270, 3736,114752, 114752,114752,114752, 363, -6179,147803, 3707, -6179,114752, 3708, 3340, 3709, 3954, 1261, 2720,131957, 3826, -6179,132512, 3482, 114752, 3491, 3491, 3955, 89774, 1586, 3765, -6179, -6179, 3513, 3146, -6179, 3094, 3503, -6179, -6179, 2478, -6179, 3623, -6179, 83102, -6179, -6179, 83102, -6179, -6179, 89774,114752, 3514, -6179, 3525, -6179, -6179, 53133, -6179, -6179, -6179, 3146, -6179, 89774, 3160, 3160, -6179, -6179, 3963, 3578, 3590, 3146, -6179, 3146, -6179, 89774, -6179, 3523, 3530, 3146, 3589, -6179, 3592, 3146, -6179, 2436, -6179, -6179, 83102, 83102, -6179,149270,149270, 3847, 321, 3866, 3573, 3871, 3582, 73018, 73018, -6179, 346, 83102, -6179,149270, 83102, -6179,114752, -6179,114752, -6179, -6179, -6179, -6179, 89774, 89774, -6179,149270,147803, 3872,114752,114752, -6179, 114752,114752, -6179,114752,114752, -6179, 20490, 2287, -6179, 16797, -6179, 2443, 3547, -6179, 2153,133067, 1469, 1968, -6179,104762, -6179,104762, 761, -6179, -6179,104762, -6179,104762, 761, -6179, 104762, -6179, -6179, -6179,104762,114752, 4086, 3526, -6179, 2154, -6179,114752, 2460, -6179, -6179, 2463, 1453,114752,114752, 923, 83102,114752, 3750,114752, 83102, 83102,114752,114752,114752,114752, 114752, 3613, 3249, 727, -6179, 948, 590,106982, 3759, -6179, -6179, -6179, 3536, -6179, -6179, 2473, 2319, 1154,114752, -6179, 114752,114752,114752, -6179, -6179, 95882, 3856, 209, 98657,114752, -6179, -6179, 12236, 53133, 47343, -6179, -6179, 19001, 3588, 53133, 53133, 3538, 3146, 3146, -6179, 421, 53133, 53133, 44448, 53133, 49080, 53133, 53133, 3146, 3146, 53133, 5708, 53133, 73018, 53133, 57186, 41574, 53133, 53133, 45606, 338, 3178, 53133, 3791, 58344, 53133, 2116, 3792, 53133, 2116, 5708, 4045, 4045, 1948, 1645, 3905, 3554, 1870, -6179, 3146, 327, 374, 89774, 53133, 53133, 53133, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 53133, -6179, 80878, -6179, -6179, -6179, -6179, -6179, -6179, 3634, -6179, -6179, -6179, -6179, -6179, -6179, 9158, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,114752, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 46185, -6179, -6179, -6179, -6179, 3550, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 2839, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 46764, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3551, -6179, -6179, 53133, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3635, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 1054, 53133, 53133, 53133, 53133, 53133, 53133, 53133, 53133, 53133, -6179, 53133, 451, -6179, -6179, -6179, 3888, 3594, 1138, 548, 3561, 3772, 99767, 47922, 3906, -6179, 40414, -6179, 273,104762, -6179, -6179, 1870, 3906, -6179, -6179, -6179, -6179, -6179, 2607, 3563, -6179, 3587, -6179, -6179, -6179, -6179, -6179,114752, 3723, -6179, -6179, 3652, -6179, -6179, -6179, -6179, 341, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3566, -6179, -6179, -6179, -6179, 3566, -6179, -6179, 3547, 3569, 3893, 3894, 973, 1845,114752, 3013, 53133, 3634, 294,114752, 53133, 3550, 2839, 53133, 3551, 53133, 3635, -6179, 53133, -6179, 2479, 2288,114752,114752, -6179, 3870, -6179, 3591, -6179, 13983, 3870, -6179, -6179, 57765, 3703, 3862, 3798, -6179, -6179, -6179, 3596, 19001, 53133, 53133, -6179, 2683, 19001, 2715, -6179, -6179, -6179, -6179, -6179, -6179, 1578, -6179,114752, 181, 3603, 2149, 3644, 1345, 4058, 3649,114752, -6179, 67897, 2484, 2599, -6179, 2912, -6179, -6179, 367, -6179, 528, -6179, 4138, -6179,146336, -6179, -6179, -6179, 4086, -6179, 2985, -6179, 2985, 4165, -6179,104762, -6179, -6179, -6179, -6179, 380, -6179, -6179, 16797, 16797, -6179, -6179, -6179, -6179, -6179,149270,114752,114752, 3801, -6179, 4047, -6179, 90886, -6179, 3599, -6179, 90330, 85882, -6179, -6179, 1008, -6179, 1001,149270, -6179,114752,114752, -6179, 80878,149270,114752,114752, -6179,149270, 3646,114752,114752, -6179, -6179, -6179, -6179, -6179,144370, 1558, 95882, 3749, 94217, -6179, -6179, 3602,114752, 3659, 3887, 3889, 1327, -6179, -6179,133622, -6179, 3831,149270,114752,114752, 53133, 3833,114752,114752, -6179, 539, 3698, 3702, -6179,114752, 3704, 83102, 3619, 89774, 83102, 73592, 83102, 83102, 3965, 89774,114752,114752, 1488,106982, 515, 1178, 3368, 3849, -6179, 392, -6179,149270, -6179,114752, 3840, -6179, -6179, -6179,110867, 4091, 3751, -6179, -6179, -6179,140837, -6179, -6179, 3859, -6179, 2487, -6179,149270,149270,114752, 9953, 134177, 1697, 3864, -6179, -6179, 89774, -6179,114752,111422,114752, 114752, 3901,114752,103652,134732,135287, 1822, 1825, 3910,114752, 104207, 3916, -6179, 3793,114752, -6179, -6179, 81434,149270,114752, 1271, 80878, -6179, 3899, -6179,114752, -6179, 366, -6179,114752, 6402, 3867, 3732, 3755,114752, 517, 1200, 3368, 4034,114752, 114752, 3650, 2488,149270,114752, 80878, -6179, 3873, 1643,149270, 114752,110867, -6179, 3874, -6179,106982, 3967, -6179, 3651, 2720, 2849, 2203, 3651,149270,114752, -6179, 3651,114752,137507, -6179, 149270, 1708, -6179,149270,114752,110867, -6179, 3879, 3827,149270, 114752, 10758, -6179, -6179, -6179, 426, -6179, -6179, -6179, -6179, -6179,114752,114752, 426,114752,114752, 426, 1985, -6179,149270, 114752, -6179, -6179, -6179, 3790,149270,114752,114752, 400,114752, -6179,114752,149270, 3711,114752,114752, -6179, -6179,114752, 9093, 114752,114752,114752,114752,114752,114752,149270,114752, -6179, -6179, 1217, 1569, 1190, 2011, 1906,114752, 3990,114752,135842,149270, 114752,114752, 1936,114752, 80878, 1939, -6179, -6179, 3802, -6179, 149270, 1708, -6179, 10494,114752,114752,114752, 3756, 3766, 237, 3853, -6179, -6179, -6179, 1189, 1189, 3885, -6179, 53133, 53133, 49659, 3680, -6179, -6179, 53133, 3112, -6179, -6179, -6179, 1052, 4154, 1052,136397, 1052, 1052, 3975, 3761, 3763, 1052, 1052, 1052, 3964, 1052, 1052, 1052,114752, 3865, -6179, -6179, 3865, 236, 53133, 89774,114752, -6179, 2509, -6179, 3695, -6179, -6179, 80878,114752, 270, 1108, 4046, 3917, 93107, 3549, 4042,114752, 3752,114752, 4179, 3804, 56, -6179, 3549,114752, -6179, 2374, 95882, -6179, -6179, -6179, -6179, -6179, -6179, -6179,114752, -6179, -6179, 4055,114752, 61174, 3891, -6179, 1936, 3073, 3073, 3073, 3073, 3714, 3073,114752, 3850, 4075, 3549, 3717, 4077, -6179, 3340, 4079, 4082,114752, 3948, 93107, 3789, 3769, 3962, 4205, 2720, 1936, 3969, 3949, -6179, 75300, -6179, 3073, 4225, 43881, 7226, 7702, 3959, 4023, -6179, -6179, 3968, 1042,114752,109757, -6179, 3753, -6179, 4068, 4072, 4096, -6179, 260, -6179, 4227, 2053, 4097, 53133, 2513, 3757, 278, -6179, -6179, 3758, 3530, 3778, 3785, 3767, 3768, -6179, 3146, 66221, 3770, 1646, 4014, 3771, -6179, 310, -6179, 3125, -6179,114752, -6179,114752,114752, 114752,114752, 320, -6179, -6179, 310, 3125, 310, 973, -6179, 4050, 278, 3125, 3896, 4112, 321, -6179, 329, -6179, 3991, 973, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4007, 2720, 2478, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,104762, 2985, -6179, 2517, -6179,114752, -6179, 4090, 4092, 4093, 4094, 4098, 3781, 3782, 3832,114752, 3784, 3781, 426, 3795, 3786, -6179, 3784, 3784, 3781, 3249, 3249, 3781, 3782, 148292, 4248, 80878, -6179, -6179, 3881, 3796, 4140, 261, -6179, 993, 1227, 4053, -6179, -6179, -6179, -6179, -6179, 89774, -6179, 149270, 3857, -6179, -6179, -6179, 4022, 3803,148292, 973, 200, -6179, 83102,114752, 89774, 83102, 4029, 83102, 83102, 89774,114752, 114752, 2518, -6179, 2303, -6179, 2308, 53133, 414, -6179, 14493, 2522, 53133, 3806, 3808, -6179, -6179, -6179, -6179, -6179, -6179, 3809, 4155, -6179, -6179, 2529, 2551, 89774, 2017, 3837, 15373, -6179, 3816, 282, 4030, 3504, 3876, 2552, 3820, 285, -6179, 3504, 386, 2557, 3822, 3829, 6858, 7177, 3830, 15471, 3823, 3834, 3835, 3838, 57186, 57186, 45027, 1720, -6179, 57186, 3836, 4033, 2558, 14593, 3839, 3841, 15810, 50238, 53133, 50238, 50238, 15763, 3842, 3843, -6179, 4207, -6179, 2561, 80878, 4035, 16147, 2564, -6179, 53133, 80878, 7494, 53133, -6179, 53133, 3845, -6179, -6179, 8376, 8376, 8376, 5708, -6179, 3875, -6179, 57186, 57186, -6179, 1997, 45027, -6179, -6179, 4172, -6179, -6179, 335, -6179, -6179, -6179, -6179, -6179, 3401, -6179, -6179, -6179, 4081, 2537, 2352, 73018, 7524, 53133, 325, 53133, 3550, 53133, 3920, 8376, 8376, 8376, 501, 501, 281, 281, 281, 1959, 548, -6179, -6179, -6179, 3854, 3860, 3772, 3861, 53133, -6179, 3895, 68452, -6179, 2573, 2660,114752, 9153, 12423, 17797, -6179, -6179, -6179, 60608, 3897, 889, -6179, -6179, -6179, 3897, 1510, 4165, 2607, -6179, 1842, 3146, 327,144862, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,114752, 19001, -6179, -6179, 4100, 3863, -6179, -6179, 53133, -6179, -6179, 2512, 3868, 1005, 160, 2555, 2555, 2683, 1284, -6179, -6179, 3914, -6179, 53133, -6179, 2766, 2778, -6179, -6179, -6179, -6179, 3249, -6179, 4103, -6179, -6179, -6179, 60608, 3903, 3915, 119, 65107, 4080, -6179,114752, 60608, -6179, 114752, 232, -6179, 3877, -6179, -6179, -6179, -6179, 2152, -6179, -6179, -6179, 3869, -6179, 3878, -6179, 3880, -6179, -6179, -6179, -6179, 288, 3890, 3883, 3902, 2234, -6179, -6179, -6179, -6179, 85882, 2380, -6179, 90330, -6179, 90330, -6179, 2380, 4318, -6179, 85882, 2193, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,149270,149270, 4083,114752, 4084, 4089, 53133, 874,114752, 3892, 3904, 1856, 4178, 3909, -6179, 4231, 973, -6179, -6179, 3960, -6179, 19001, -6179, -6179, -6179, -6179, -6179,149270,114752, -6179,152204, -6179, -6179, 89774, -6179, -6179,114752,114752, -6179, -6179, -6179, 89774, -6179, -6179, -6179,114752, 855, 3961, 3966,114752, -6179, 1084, 3617, 10552, 114752,114752,114752, 4180, -6179, -6179, -6179, -6179, 4104, -6179, 4235, -6179, 85882, -6179, 3125, 1193, 3974, 3368, 4122, -6179, 4249, 4011, -6179, 4043, 1628, -6179, -6179, 4041, -6179, -6179, -6179, -6179, 4273, 973, 4275, 973,114752,114752,114752,114752, 4057, -6179, -6179, -6179, -6179, 4059, 4191, -6179, 80878, 80878, 80878, 2570, -6179, -6179, 1936, -6179, -6179, -6179, -6179, -6179, -6179, 4232, -6179, 2576, -6179, 2024,114752, -6179, -6179, -6179, -6179, -6179, 4281,149270,114752, 11116,114752,114752,114752, 4145, 2205, 930, 89774, -6179, 87550, -6179, -6179, 2582, -6179, 3939, 114752, 4016,149270, 3993, -6179, -6179, -6179, 4288, 2720, 4074, 99212, 3980, 3980, 2269, -6179, -6179, -6179, -6179, 4206, 4130, -6179, 1103, 4132,149270, 4003, -6179, -6179, -6179, -6179, -6179, 4295, 4026, -6179, -6179, 4028, 1216, 3368, 3340, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4056, -6179, -6179, -6179, -6179, 672, 672, -6179, -6179, -6179, 672, 1615, 514, 1301, 3368, -6179, 2140, 1872, 4031, -6179, 4032, -6179, -6179, -6179, 4203, 4209, 4210, 4038, 4048, 4088, 4049, 4054, 4101, -6179, 4060, 4105, 4061, 4108, 4062, 4343, 973, 89774, 4192, 1936, 4099, 4328, 973, -6179, 4067, -6179, 4070, -6179, 2586, 4438, -6179,114752, -6179, 518, 1431, 3368, -6179, 4071, -6179, 149270,114752, -6179, -6179, -6179, 53133, 3972, 3985, 3987, 19001, 19001, 53133, -6179, -6179, 19001, 3971, -6179, -6179, -6179, -6179, 89774, -6179,114752, 4282, -6179, -6179, 1052,114752,114752, -6179, -6179, -6179,114752, -6179, -6179, -6179, 4283, -6179, 376, 376, -6179, -6179, 4316, 7851, 3992, 384, -6179, 80878, 69573, 2329, 779, 2063, -6179,152204,114752,152204, -6179, 1108, 4208,114752, 114752,114752, 3994, 3989, -6179, -6179, -6179, -6179,149270, 1296, 149270, 3146, -6179, -6179, 4073, -6179,114752, 2720, 2700, 4341, 3711, -6179, 4471, 3545, 1448, 2167, 275, 3157, 4411, 2862, 53133, 301, -6179, -6179, -6179, -6179, -6179, 1870,114752, 3769, -6179, -6179, -6179, -6179, 1936, -6179, 4010, 4009, -6179,114752, 4358,114752,114752,114752,104762, 2319, 4015,114752, 4013, 89774, 114752, 2556, 3365, 4492, 4377, 2319, 3789, 4111, 4378,106982, 2592, -6179, 4036, -6179, 1042, -6179, 2609, 217, -6179, 1936, 152204, 86438, 4372, -6179, 576, 7702, -6179, -6179, 576, 1058, 114752, -6179, -6179, -6179, -6179, 4251, 875, -6179, 4356, -6179, 114752, -6179, -6179, 64548, -6179, 89774, 4037, -6179, 2612, -6179, 2615, -6179, -6179, -6179, 3146, -6179, -6179, 2667, 2667, 4039, -6179, 66787, -6179, 4040, -6179, 2379, -6179, -6179, -6179, 321, 4095, 973, 4106, 973, -6179, -6179, -6179, -6179,114752, -6179, 114752,147803, -6179, -6179,114752, -6179, 4389, 4376, -6179, -6179, -6179, -6179, 4173, 4177, 4184, 4186, 4187,114752, 3781, -6179, 4044,114752,114752,149270, 1171, -6179, -6179,149270, 465, -6179, 1101, -6179,106982, 4170, -6179, -6179, -6179, -6179, 4409, 4410, -6179, -6179, -6179, 1508, -6179, 98102, 484, -6179,149270, 4344, 4345, 4346, 4348, 426, 4349, 4350, 4351, 4352, 4354, -6179, -6179, -6179, 4065, 16312, 53133, -6179, 4432, 89774, -6179, 9102, -6179, -6179, -6179, 53133, -6179, -6179, 3837, 4353, 4221, -6179, -6179, 4287, 4291, 53133, 4221, 4524, 1066, 53133, 53133, -6179, -6179, 4294, 4296, 53133, 2537, 2537, -6179, -6179, -6179, -6179, 2606, 53133, -6179, 53133, -6179, -6179, 42154, 4577, 4577, 4076, 89774, 57186, 57186, 57186, 57186, 1917, 3205, 57186, 57186, 57186, 57186, 57186, 57186, 57186, 57186, 57186, 57186, 507, -6179, 4286, 53133, 53133, 50817, -6179, -6179, 89774, 4085, 3842, 4087, 4102, 53133, -6179, -6179, -6179, 2635, 58910, 4109, 80878, -6179, 53133, 15424, 2636, 4133, 16466, 1870, 10058, 1936, 53133, 1322, 2459, 53133, 2644, 53133, -6179, -6179, -6179, -6179, 4420, -6179, -6179, -6179, -6179, -6179, -6179, 4317, 2537, -6179, 4153, 4156, -6179, 53133, 4110, 2418, 57186, 57186, 3540, -6179, 4008, 53133, 45027, -6179, 3885, -6179, 42734, 4113, 53133,141392, -6179, -6179, 1537, 1537, 1537, 1537, -6179,114752,114752,114752, 61740, 4424, 4107, 60042,111977, 4114, 2493, -6179,111977,112532,111977, 4115, 1870, 53133, 4419, 4117, 4419, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4116, -6179, 4119, -6179, -6179, 248, 4120, -6179, -6179, 288, -6179, -6179, 2319, -6179, 4123, -6179, 3868, 1815, -6179, -6179, -6179, 1289, -6179, 4181, -6179, -6179, -6179, 4114, 51396, 4245, -6179, -6179, -6179, 4148, 2652, -6179, -6179, 4517, 4245, -6179, 2388, -6179, 2655, 67897, 3903, 53133, 1870, 3146, 4124, -6179, 2985, 1510, -6179, -6179, -6179, -6179, -6179, 2656, 2284, -6179, -6179, 85882, -6179, 4171, 3125, 3125, 1551, 3781, 4439, 1551, 10094, -6179, -6179, 62306,114752,114752, -6179,114752,114752, 2147,114752, -6179,114752, -6179, -6179, -6179, 4572, 4160, 4161, 4382, -6179, 3001, -6179, -6179,149270,114752, -6179, -6179, -6179, 526, 1432, 3368, -6179, 4198, -6179, -6179, 4408,114752, -6179, 4574, 4220, 114752, 4486,114752,113087, -6179, 4558, 2147, 4244, 4468, 1804, 3365, 2129, 4436, -6179, 794, -6179, -6179, 4211, -6179,114752, -6179,114752, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4270, -6179, -6179, -6179, -6179, 81434, -6179, -6179,114752, -6179, 80878, 69573, 80878, -6179,114752, -6179, 1667, 540, 1479, 3368, -6179, 4222, -6179, 4494, 4226, 4229, 4280, 1397, 899, 4230, 4236, 4290, 4144, 4150, 4152, -6179, 80878, 70148, 4304,114752, 3125, 4146, 4199,114752, 3980,113642, -6179, 4157, -6179, -6179, 3980, 400, 1936, -6179, -6179, 1936, 3125, 1936,114752,114752,114752, 114752, 400, -6179, -6179, -6179, 4609, 4254,114752,114752,114752, 114752, -6179, 4216, -6179, -6179, -6179,114752,114752, 4508, 286, 2391,149270,114752,114752,149270,114752,114752,114752,114752,114752, 114752,114752, 4383, -6179, 4599, 4525, 2569, 4568, 4246,114752, -6179,114752, 1936, -6179, 3617,114752,114752,114752,114752, -6179, -6179, -6179, -6179, -6179, 3885, -6179, 4167, 4461, 1052, -6179, 4463, 4464, 4465, 1052, -6179, -6179, 2063, -6179, 267,114752, -6179, 2703,114752, -6179, -6179, -6179, 4123, 2555, 2555, -6179, -6179, -6179, -6179, -6179, -6179, 4175,114752,114752, 57186, -6179, 2434, 1811, 1527, -6179, 4459,114752, 3450, -6179, -6179, -6179, 287,114752, -6179, -6179, -6179, -6179, 4182, -6179, 148, 4015, -6179, 4484, 93107, 3125,149270,149270, 3125, -6179, 89774, 4183, 3769, -6179, 418, 4265, -6179,149270, 1448,136952, 3518, 4224, 4404, 10762, 60608, 61174, 672, -6179, 4188, 4185, -6179, -6179, 114752, 4208,147803, 2671, 3340, 4662, 1292, 2641, 3857, 94772, 4387, 4015, 4484, -6179, 3365, 4412, 4413, -6179, 2319,114752, 3857, 3769, 1936,114752, 3659, -6179, 2700, 69573, 1978, -6179, 85882, 53133, 53133, -6179, 4190, -6179, 4194, 7702, -6179, 4267, 4201, 4666, 53133, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4292, 4212,114752,114752, 1042,114752, 4704, -6179, -6179, 4213, 4097, -6179, 4097, -6179, 4214, -6179, -6179, -6179, 2323, 1845, 66787, 66787, 66787, 66787, 66787, -6179, -6179,114752, -6179, 114752, -6179, 973, -6179, 4338, 973,114752, 2319,114752,114752, 114752,114752,114752, 3781, 426, 3786, -6179, -6179, 4541,148292, 4543, -6179, 80878, -6179, -6179, -6179, -6179, -6179, 2674,114752, -6179, -6179, -6179, 4610, 4554, 973, 209, 1112, 1112, 1112, 1112, 4510, 1112, 1112, 1112, 1112, 1112, -6179, 53133, 19001, -6179, 4215, -6179, 19001, -6179, 4591, 4223, 4450, 4453, -6179, 4228, 53133, 4221, -6179, -6179, 4455, 4456, -6179, 4221, 4221, 4237, 11141, 16996, -6179, 2691, 53133, -6179, 3355, 3355, 3355, 2923, 4569, -6179, 3075, 3355, 3355, 3355, 466, 466, 243, 243, 243, 4577, 507, 17235, 17754, 18144, 4238, -6179, -6179, -6179, 3842, -6179, 54291, 135, 4685, 58344, -6179, -6179, -6179, 4277, 4285, 4240, -6179, 53133, 54870, 4233, 90886, 4443, -6179, 1966, 53133, 53133, 2548, -6179, 6901, 53133, -6179, -6179, 4526, 4527, 2548, 498, 53133, 2634, 2675, 53133, 53133, 4892, 11181, 4241, -6179, 2696, 53133, 11499, 4440, -6179,114752,114752,114752, 114752, -6179, -6179, -6179,111977,112532,111977, 4247, 59476, 63993, 2493, 4250,114752, -6179, -6179, 4252, 60608, 4535, 4457, -6179, 60608, 4457, 1972, 4457, 4537, 4355, 69007, -6179, -6179, 4253, -6179, 4466, -6179, 2151, 19001, 4708, 4576, 1936, 4576, 1510, 491, 1936, -6179, 4256, 73018, -6179, -6179, -6179, -6179, 4357, -6179, 4485, 19001, 47922, -6179, 2319, 2749,114752, 1870, 130, -6179, 53133, 4271,114752, -6179, 4245, 19001, -6179, 16797, -6179, -6179, -6179, -6179, 4340, 2699, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4359, 95882, 4613, -6179, 53133, 2707, -6179, 4314, 4711, 198, 2711, 2716, 2147, -6179, 2722, -6179, 1818, 4585, 234, -6179, 973, -6179, 89774,114752,114752,114752, 3306, -6179, -6179,114752,114752,114752,114752, -6179, -6179,149270,114752, -6179, 114752, -6179, -6179, -6179,114197, -6179, 4208, 400, 2434, 4600, 4601, 4509, -6179, 426, -6179, 2434, 4511, 400, -6179, -6179, -6179, -6179, 3542, -6179, 89774, 973, 973, -6179, -6179, -6179, -6179, -6179, 4297, -6179, 4736, 4380,114752,114752,114752,114752, 114752,149270,114752,114752, 3146, 3146, 89774, 4289, -6179, 3146, 3146, 4293, -6179,149270,114752,114752, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4374, -6179, 53133, 4727, -6179, -6179, -6179, -6179, -6179, 53133, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179,149270,114752, 4379, -6179, 4385, -6179, 203, -6179, -6179,114752,114752,114752,114752, 4649, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 4650,114752, -6179, -6179, 1936, 1936, 89774, 973, 973, -6179, -6179, -6179, 4386, -6179, -6179, 4303, 4589, 1052, -6179, 1052, 1052, 1052, -6179, 4306, -6179, 2063, 4695, -6179, 2147, 2196, 4646, -6179, 53133, -6179, 1148, 2923, -6179, 4705, 4785, -6179, -6179, -6179, -6179, 3711, 2720, 3711, -6179, -6179, 83102, 1548, -6179, 4628, 270, 80878, 4538, 93107, 2140, 2180, 4320, 4445, -6179, 3125, 3125, 4388,114752, 4793, -6179, -6179, -6179, -6179, -6179, -6179,149270, 3993, -6179, 4561, 1555, 4668, 114752, 61174, -6179, 4114, -6179, -6179, -6179, 1936, -6179, -6179, 4462, 3769, -6179, 4690,114752, 4555, 93107, 3857, -6179, 2726, -6179, -6179, -6179, 4384, 4787, 3789, -6179, 2140, 4387, -6179, -6179, 4763, 4434, 4390, 4815, -6179, 4434, 4681, 4562, 4361, -6179, 4036, -6179,114752, -6179, 19001, 19001, 1936, 91442, 576, 89774, 4688, -6179, 19001,114752, 962, 4360, 4516, -6179, 4654, 114752, -6179, 973, 2731, -6179, -6179, -6179, 4367, 2363, 2363, -6179, -6179, -6179, 973, 973, -6179,114752, -6179, 3781, 3781, 3781, 3781, 3781, -6179, 4566, -6179, -6179, -6179, -6179, 4647, -6179,148292, -6179, 973, -6179, -6179, -6179, -6179, -6179, -6179, 1112, -6179, -6179, -6179, -6179, -6179, 19001, -6179,114752, -6179, -6179, -6179, -6179, -6179, 3591, 4368, -6179, -6179, 4369, 4381, -6179, -6179, 53133, -6179, 11546, 57186, 4693, -6179, 53133, 53133, 53133, -6179, 4373, 2734, 2735, -6179, -6179, 135, -6179, 4685, -6179, -6179, -6179, 11790, 4414, 19001, 4470, 4392, 1769, 2548, 2548, 6901, -6179, -6179, 2548, 53133, 53133, 2548, 2548, 53133, -6179, -6179, -6179, 12125, -6179, 4810, 3885, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 81990, 4375, 4035,111977, 4394,114752, 2493, 60608, -6179, -6179, 2311, -6179, 60608, 4667, -6179, 60608, 83102, -6179,114752, 4395,114752, -6179, 1863, 53133, 4402, -6179, 4402, -6179, 2555, -6179, -6179, -6179, -6179, -6179, 4518, 4396, -6179,104762, 801, -6179, 119, -6179, -6179, 4801, 62306, 4759, 18359, 53133, -6179, -6179, -6179, -6179, -6179,148292, 4602,148292, 2147, 12316, 4700, 62306, 74166,114752, -6179,114752, -6179, 4565, 4700, 4700, -6179, -6179, -6179, -6179, -6179, -6179, 4398, -6179, -6179, -6179, -6179, 4487, -6179, -6179, 83, 3759, -6179, -6179, -6179, -6179, -6179, 4875, 4762, 4766, -6179, -6179, -6179, -6179, -6179, 4599, -6179, -6179, 69573,149270,114752, -6179, 4496, -6179, -6179, -6179, -6179, -6179, -6179, 63438, 73018, -6179, 1397, 4416, 4422, 899, -6179, -6179, -6179,114752, 12472, 4423, 13009, 676, 3759,114752,114752, 4425, 4427, 4428, 2079, 2025, 2094, 3781, 4756,114752, -6179, -6179, -6179, 4599, -6179, -6179,114752, -6179, 1052, -6179, -6179, -6179, -6179, 80878, -6179, 2725, 4306, 1936, 83102, 4887, 4887, 13081, 4641, -6179, -6179, 424, 4476, 4679, 4476, 4430,114752, 287, 4433, 2739, -6179,114752, 4431, 4570, 2322, 2322,114752,114752,114752, 2742, 2319, 3125, 4199, 1448, 4794, 93107, 4835, 4208, 373, -6179,114752, 4913,104762, 2319, 4015,114752, 4441, 998, -6179, 94772, 4655, 2329,114752, 2556, 4387, 3789, 1410,114752, -6179, 1644, -6179, 2319, -6179,114752, 106982, 62306, 4779, -6179, 90330, -6179, 2745, -6179, -6179, -6179, 4520, 8679, 3897, 4563, 4564, 4444, 2297, 4795,114752, 1288, -6179, 4458, -6179, -6179, -6179, -6179, -6179, -6179, -6179,114752, 484, -6179, -6179, -6179, -6179, -6179, -6179, 18501, -6179, 3272, 57186, 19001, 19001, 19001, 53133, -6179, 53133, -6179, -6179, -6179, -6179, 714, -6179, -6179, 4760, 4451, 2548, 2548, 2548, -6179, 53133, 1672, -6179, 2756, 4928, 56607, 4886, -6179,114752, 2765, -6179, 53133, 4460, -6179, -6179, 60608, 2311, 4469, 2780,114752, 2783, 89774, 55449, 19001,114752, -6179, -6179, -6179, -6179, 2134, 4857, -6179, -6179, -6179, 4513,114752, 2784, -6179, 179, 2191, 4505, -6179, 19001, 1171, 1551, 372, 4711, 4472, 3711, -6179, 4474, -6179, -6179, 1487, 3365,114752, 3711, 3711, -6179,114752, 4556, -6179, 2329, 4781, -6179, -6179, 4528, -6179, 769, 3759, 114752, 89774, -6179, 185, 4808, -6179, 89774, 89774, -6179, -6179, -6179, 53133, -6179, 4559, -6179, -6179, -6179, 53133, 53133,152693, -6179, -6179,114752,114752,114752,114752,114752, -6179, 973, -6179, -6179, 2790, -6179,141884, -6179, -6179, 3543, 1936, 3543, 849, -6179, -6179, 3543, 3543, -6179, 3897, -6179, 4887, 957, -6179, -6179, 4702, 4475, 53133, 4778, -6179, 244, 4694, -6179, 4477, -6179, 83102, 4977, -6179, 80878, 4015, 4484,114752, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 2794, 4208, 4831, 3769, 4390, -6179,114752, 4519, -6179, 60608, 4208, 2319, 2641, 3857, 4387, 4015, 4484, -6179, -6179, -6179, 4481, 4413, 3789, 2556, 4627, -6179, 4630, -6179, 4924, 4701, 4929, 3857, -6179, 3659, 2798,114752, -6179, -6179, 7702, 91442, 89774, -6179, -6179, -6179, 4490, 4867, 4533, 4539, -6179, -6179, -6179, 2297, -6179, 1619, 4870, 4545, -6179, 4557,114752, -6179, -6179, 2736, 5006, 4208, 973, 53133, 3272, 2804, 2810, 4567, -6179, -6179, -6179, 3842, 51975, 51975, 51975, 4504, 4115, 81990, 4506, -6179, 57186, 2818, -6179, 2694,114752, 2821, -6179, 19001, 114752, -6179, -6179, 53133, -6179, 2822, -6179, 4507, 1048, 4512, 40994, 4514, -6179, -6179, -6179, -6179, -6179, 19001, 4515, -6179, 4984, 4859, 4861,114752, -6179, 2319, -6179, 3897, 62306, -6179, 4642, 4993, 4777, -6179, -6179, 4860, -6179, -6179,114752, 4476, 73018, 3868, 1487, 2720, 4476, 4476, -6179,114752, 4475, 53133, -6179, 4615, -6179, -6179, 2826, 1918, 4697, 4697, 2830, 2842, 13131,114752, 2845, 2848, -6179, 2855, 3146, 3782, 2094, 3782, -6179, 3781, -6179, -6179, 80878, -6179,148781, -6179, -6179, -6179, 1936, -6179, 1936, 4750,114752, 76418, 1936, 1936, -6179, -6179, -6179, -6179, 4836, -6179, 3340, -6179, 13687, 4618, -6179, -6179, -6179, 621, -6179, 4747, 4748, -6179, 4531, -6179, 2872, -6179, 2140, 4663, 4208, -6179, -6179,114752, 5008, 5010, -6179, 1556, 114752, 4114, -6179, 4390, 3857, -6179, 3789, 2140, 4387, 2329, 62872, 4434, 2556, 4413, -6179, -6179, 4757, -6179, 4758, -6179, 4544, 4855, -6179, 2179, 576, -6179, -6179, -6179, 1244, 4882, 4883, -6179, -6179, -6179, 3543, -6179, 2012, 4547, 4908, -6179, -6179, -6179, -6179, -6179,114752, -6179, -6179, 19001, -6179, -6179, -6179, 56028, 4698, 1401, 14842, 4912, -6179, 4912, 4912, -6179, -6179, -6179,114752, 2923, 4548, 56607, 80878, 2876, -6179, 88106, -6179, 2879, 2882, -6179, 53133, 4553, 53133, -6179, 55449,114752, 4560, 5009, 5011, 1136, -6179, -6179, -6179, 67897, 53133, 4644, 4993,148292, 2905, 3980, 4573, -6179, 3868, 4679, -6179, -6179, 3759, -6179, 19001,114752, 83102, 5012, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3759, 4645, -6179, -6179,152693, -6179,114752, -6179, -6179, 2939, -6179, -6179, -6179,114752, 4360, -6179, 4360, -6179, -6179, -6179, 1639, 4669,114752, 1011, 1011, 4953, -6179, 4631, -6179, 4575, -6179, 5073, 4699,114752, -6179, -6179, 1397, 2319, 93107, 4208, -6179, 998, 2556, 4387, 3789, 53133, 2940, -6179, 4711, 198, -6179, 4413, 4434, -6179, -6179, 62306, 4578, 3450, 4942, -6179, -6179, -6179, 3188, 83102, 83102,114752, -6179, -6179, -6179, 53133, 287, -6179, 5051, -6179, -6179, -6179, -6179, -6179, 265, -6179, -6179, -6179, 2944, 58344, -6179, -6179, -6179, 114752, 4790, 1636, 5055, 4743, 2945, 55449, 2949, -6179, -6179, -6179,114752,114752,114752, 1924, 19001, 990, 4684, 372, -6179, -6179, -6179, -6179, 4694, 2147, 2147, -6179, 3759, -6179,114752, -6179, 4595, -6179, -6179, -6179,148781, 4360, -6179, -6179, -6179, -6179, 5086, -6179, 980, -6179, -6179, -6179, -6179,114752, 4208, 4289, 4390, -6179, -6179, 4413, 3789, 2556, 13834, -6179, 62872, 114752,114752, 4434, -6179, 2957, 62306, 3769, 4744, -6179, 3097, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 824, 4596, 4598, -6179, -6179, 13917, 83102, 52554, 4751, -6179, 4812, -6179, -6179, 4035, -6179, -6179, 57186, 4832, -6179, 1636, -6179, 57186,114752, -6179, 4606, -6179, -6179, 2958, -6179, 1482, 1485, 2174, -6179, -6179, 4841, 4738, -6179, -6179, 995, -6179, 2147, -6179, -6179, -6179, 53133, -6179, -6179, 2720, 2720, 4208, -6179, -6179, 4434, 2556, 4413, 4711, -6179, -6179, -6179, -6179, 4855, -6179, 2962, 4434, 4545, 2170, -6179, -6179, 2240, 2866, 4703, 4950, -6179, 4616, -6179, -6179, -6179, 5047, 2923, -6179, -6179, 2923, -6179, 53133, -6179,114752,114752, 82546,114752, -6179, 67897, 4850, 257, -6179, 2147, 2970, -6179, -6179, -6179, -6179, 4413, 4434,114752, 3450, -6179, 62306, 3897, 4980, -6179, 3097, 4739, 4741, 80322, 114752, 14217, -6179, -6179, 342, 5019, -6179, 4623, -6179, 4683, 119, 4632,114752, -6179, -6179, 4434, -6179, -6179, 3769, -6179, -6179, 287, -6179, 4671, 4673, 2971, -6179, -6179, -6179, -6179, -6179, 2974, -6179, 53133, 82546, -6179, 4691, 53133, 2980, -6179, 4434, 83102, 4968, 4972, -6179, 80322, -6179, 1189, 4707, 4692, 2981, 168, 3897, 4637, 83102, 83102, -6179, 4638,114752, -6179, -6179, 119, -6179, -6179, 80322, -6179, -6179, 1936, -6179, 4706, 2984, 4692, -6179, -6179 }; /* 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_int16 yydefact[] = { 3270, 0, 2, 1, 3704, 3708, 3712, 3713, 3635, 3714, 3715, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3693, 3692, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3703, 3702, 3653, 3277, 3652, 3649, 3650, 2363, 3717, 3705, 3718, 3706, 3707, 3709, 3710, 3679, 3711, 3719, 3720, 3721, 3716, 3724, 3675, 3676, 3674, 3677, 3678, 3722, 3723, 3666, 3667, 3668, 3669, 3725, 3278, 3279, 3671, 3271, 3275, 3340, 3419, 3672, 3673, 3670, 3276, 3665, 3419, 0, 0, 3471, 3433, 0, 0, 0, 3418, 3395, 3401, 3524, 0, 3367, 3368, 3364, 3366, 3365, 3369, 3352, 1969, 1462, 663, 1550, 1549, 0, 1462, 0, 282, 0, 1561, 0, 1462, 443, 1120, 3294, 0, 3379, 0, 0, 0, 663, 1462, 0, 0, 1716, 0, 3377, 0, 0, 1969, 0, 0, 1730, 0, 0, 3378, 0, 0, 0, 1260, 0, 0, 0, 1462, 0, 0, 1737, 0, 0, 0, 0, 3380, 1730, 3520, 3396, 0, 1563, 0, 3376, 0, 0, 0, 0, 3, 38, 73, 74, 31, 30, 91, 56, 17, 64, 126, 125, 127, 43, 39, 81, 26, 28, 40, 44, 66, 68, 33, 57, 103, 65, 24, 63, 69, 89, 51, 12, 13, 52, 14, 53, 15, 54, 99, 75, 92, 36, 62, 23, 45, 71, 72, 5, 47, 79, 11, 58, 59, 61, 84, 85, 86, 109, 87, 121, 42, 118, 96, 97, 115, 98, 116, 9, 100, 55, 16, 112, 111, 113, 82, 48, 83, 70, 90, 110, 27, 114, 18, 19, 21, 22, 20, 60, 29, 67, 32, 88, 117, 107, 102, 122, 120, 4, 128, 104, 76, 7, 8, 93, 6, 25, 50, 10, 35, 34, 49, 41, 124, 37, 1561, 95, 108, 94, 101, 80, 105, 123, 106, 78, 119, 1692, 1679, 1739, 1683, 1715, 0, 1695, 46, 1716, 130, 131, 132, 137, 3274, 3329, 3330, 3331, 3419, 3362, 3363, 3356, 3372, 3390, 3371, 3383, 3391, 3370, 3397, 0, 134, 136, 138, 141, 135, 129, 133, 140, 145, 139, 144, 142, 143, 146, 147, 148, 77, 3347, 3346, 0, 3419, 0, 3646, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2397, 2396, 2398, 2399, 2739, 2400, 2401, 2402, 2687, 2688, 2740, 2689, 2690, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2691, 2412, 2413, 2414, 2415, 2416, 2692, 2741, 2417, 2418, 2419, 2420, 2421, 2422, 2742, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2743, 2431, 2432, 2370, 2744, 2371, 2433, 2434, 2435, 2436, 2437, 2693, 2694, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2695, 2466, 2467, 2468, 2469, 2696, 2470, 2471, 2472, 2473, 2697, 2474, 2475, 2476, 2477, 2745, 2746, 2478, 2479, 2480, 2481, 2482, 2698, 2699, 2483, 2484, 2485, 2486, 2487, 2488, 2747, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2748, 2700, 2502, 2503, 2504, 2701, 2702, 2505, 2749, 2750, 2506, 2751, 2507, 2703, 2704, 2705, 2706, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2707, 2752, 2515, 2753, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2708, 2754, 2709, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2710, 2711, 2542, 2543, 2544, 2755, 2545, 2712, 2546, 2713, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2714, 2756, 2557, 2757, 2715, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2716, 2570, 2717, 2573, 2571, 2572, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2718, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2758, 2603, 2604, 2605, 2606, 2607, 2719, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2372, 2622, 2623, 2720, 2624, 2625, 2759, 2626, 2627, 2721, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2722, 2642, 2643, 2644, 2645, 2760, 2646, 2647, 2648, 2649, 2650, 2651, 2723, 2724, 3294, 2652, 2653, 2725, 2654, 2726, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2727, 2673, 2761, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2685, 2686, 3312, 2368, 2369, 2376, 2377, 2378, 3287, 3308, 3314, 3642, 3313, 2375, 3470, 0, 0, 3541, 3542, 3563, 3543, 3544, 3545, 3564, 3565, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3566, 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3567, 3568, 3617, 3618, 3619, 3620, 3621, 3623, 3622, 3432, 3590, 3626, 3431, 3627, 3435, 3628, 3629, 3630, 3631, 3591, 3632, 3434, 3624, 3587, 3436, 3429, 3430, 3588, 3539, 3540, 2343, 3589, 3586, 3625, 3315, 3585, 3440, 3439, 1668, 3641, 1669, 0, 3442, 3569, 3570, 3571, 3572, 3574, 3573, 3575, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 3600, 2774, 2775, 2776, 3616, 2777, 2778, 3601, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 3602, 3603, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 3604, 2828, 2829, 3605, 2830, 2831, 2832, 3606, 2833, 2834, 2835, 2836, 2837, 3610, 3611, 3612, 3613, 3614, 3615, 3599, 3393, 3576, 3598, 3607, 3608, 3609, 3403, 3399, 3407, 3402, 0, 0, 0, 0, 3419, 1958, 1959, 1960, 1957, 1970, 1956, 0, 3335, 1961, 3382, 1461, 1460, 1475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3284, 0, 1472, 159, 0, 3594, 3588, 3597, 0, 2346, 3589, 3586, 3585, 415, 414, 1560, 0, 1539, 663, 0, 1475, 442, 1716, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 153, 0, 0, 466, 465, 0, 0, 1092, 471, 0, 0, 0, 0, 0, 653, 3293, 3288, 3298, 0, 3291, 3292, 3585, 0, 3728, 2571, 3324, 3325, 3726, 0, 2633, 1670, 1668, 3641, 0, 283, 286, 287, 284, 285, 0, 1232, 1233, 1235, 0, 0, 1245, 919, 920, 0, 0, 0, 933, 0, 0, 0, 917, 0, 0, 0, 939, 0, 936, 0, 0, 940, 937, 914, 938, 921, 0, 913, 0, 0, 1245, 941, 0, 0, 915, 0, 0, 0, 0, 1475, 0, 3385, 3386, 2489, 1600, 472, 0, 0, 1716, 0, 1584, 1585, 1561, 1573, 1586, 1578, 1580, 1579, 1581, 1582, 1577, 1583, 2383, 1016, 2400, 1016, 2477, 1013, 1014, 1016, 1016, 1016, 2591, 0, 0, 988, 0, 999, 2364, 1016, 2365, 3642, 1021, 2391, 547, 547, 547, 0, 1020, 1025, 547, 0, 3381, 1443, 1484, 2345, 1729, 0, 2400, 2477, 989, 1442, 0, 2652, 1590, 0, 0, 0, 0, 2610, 1452, 267, 3583, 2621, 2723, 2652, 3584, 266, 261, 262, 3578, 3579, 3581, 235, 3582, 3580, 3577, 0, 0, 1020, 547, 0, 1475, 1450, 985, 1736, 1734, 0, 2330, 0, 0, 2410, 0, 2425, 2518, 258, 2603, 2612, 2621, 2723, 2652, 2684, 214, 224, 219, 0, 276, 2621, 2723, 2652, 0, 1472, 0, 1696, 1843, 1842, 2339, 0, 0, 3394, 1445, 1444, 1562, 0, 1565, 0, 2586, 1700, 1703, 1567, 1701, 1692, 0, 0, 3273, 0, 1572, 1733, 1733, 0, 1733, 0, 1684, 1692, 1687, 1691, 0, 0, 0, 0, 0, 1462, 0, 3354, 3390, 3361, 3425, 3358, 0, 0, 3415, 3411, 3408, 3416, 3417, 3410, 3398, 3341, 0, 3349, 3348, 3654, 3655, 3472, 3286, 3305, 0, 0, 0, 0, 0, 0, 0, 3441, 3443, 3445, 3405, 3404, 3400, 0, 0, 0, 3530, 3531, 0, 3529, 0, 3526, 3528, 0, 3425, 0, 0, 0, 0, 0, 0, 0, 0, 3332, 647, 3334, 644, 0, 1446, 0, 0, 0, 944, 0, 1487, 1077, 0, 0, 0, 0, 0, 1329, 0, 1128, 1129, 0, 2368, 0, 2488, 1329, 0, 0, 2208, 2219, 2220, 2221, 2414, 2470, 2216, 2217, 2218, 2210, 2211, 2212, 2213, 2214, 2215, 0, 0, 1227, 2209, 0, 2488, 0, 1329, 0, 186, 0, 163, 1329, 0, 0, 2488, 0, 0, 2488, 0, 0, 0, 0, 0, 2488, 0, 0, 0, 0, 0, 186, 2523, 0, 163, 2488, 0, 0, 0, 1466, 0, 0, 0, 1468, 1471, 1458, 0, 2289, 0, 2290, 2347, 1554, 0, 1553, 1547, 1557, 1552, 1542, 0, 2339, 0, 0, 0, 0, 927, 0, 0, 917, 0, 0, 0, 928, 0, 929, 930, 0, 0, 0, 0, 926, 0, 1456, 1448, 0, 1592, 1594, 1593, 1595, 1591, 547, 0, 0, 0, 2488, 0, 163, 1526, 0, 2488, 163, 0, 0, 470, 469, 163, 468, 467, 2414, 2470, 0, 1119, 0, 1202, 163, 2488, 0, 207, 2488, 722, 2488, 1567, 152, 0, 666, 0, 834, 2523, 163, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 652, 663, 0, 3297, 3303, 0, 3295, 3473, 3729, 3727, 3334, 3428, 0, 3326, 1236, 259, 260, 1234, 931, 2488, 1161, 158, 0, 0, 2488, 163, 1918, 1947, 1925, 1947, 1947, 1914, 1914, 2453, 1927, 2488, 1915, 1916, 1952, 0, 1947, 1914, 1919, 0, 1917, 1955, 1955, 1942, 158, 948, 1899, 1900, 1901, 1902, 1928, 1929, 1903, 1934, 1935, 1939, 1904, 1969, 3595, 1914, 3596, 3593, 3592, 932, 0, 918, 2488, 158, 1125, 2488, 2373, 196, 0, 916, 2414, 2470, 2488, 158, 1229, 0, 2488, 158, 2488, 192, 2488, 158, 2488, 158, 2488, 667, 0, 0, 2488, 158, 2488, 2523, 194, 935, 2488, 158, 942, 2488, 158, 2341, 2488, 0, 1459, 0, 0, 3659, 3663, 0, 3661, 3656, 3384, 3438, 3437, 3328, 0, 3740, 0, 1670, 1575, 0, 1716, 1016, 1015, 0, 1016, 0, 3750, 1016, 0, 1016, 0, 3750, 1016, 0, 0, 0, 1016, 2366, 2367, 0, 0, 3749, 3745, 3748, 990, 1000, 0, 1022, 0, 1030, 0, 1029, 1028, 1027, 0, 0, 0, 1031, 0, 1847, 1627, 0, 997, 0, 995, 0, 1440, 3334, 1455, 0, 0, 0, 0, 155, 0, 1258, 1255, 155, 1257, 1256, 155, 155, 1451, 265, 263, 0, 0, 0, 0, 0, 0, 1457, 0, 1449, 0, 0, 0, 3648, 3651, 2222, 3647, 0, 2688, 2689, 2690, 2281, 0, 3590, 2691, 2692, 2741, 2103, 2089, 2098, 2104, 2090, 2092, 2099, 2693, 2694, 2038, 2695, 2696, 2359, 2697, 2698, 2699, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2094, 2096, 2708, 2709, 2711, 0, 2360, 2712, 2713, 2552, 2715, 2716, 2718, 2719, 2100, 2721, 2722, 2101, 2723, 2724, 2725, 2726, 2358, 514, 2102, 2727, 2729, 2730, 2731, 2732, 2734, 2735, 2736, 2737, 0, 0, 0, 2336, 0, 2067, 0, 1907, 1908, 1930, 1931, 1909, 1936, 1937, 1910, 0, 2335, 1972, 2167, 2066, 2084, 0, 2072, 2073, 0, 2065, 2061, 2169, 1719, 2331, 0, 2062, 2348, 2282, 2362, 2361, 3642, 2292, 2351, 2349, 2350, 2352, 1719, 2329, 0, 0, 0, 227, 0, 0, 3519, 278, 0, 279, 2337, 2621, 215, 257, 229, 256, 230, 228, 0, 2412, 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 272, 1447, 0, 1845, 1844, 2340, 953, 0, 0, 1564, 1561, 2232, 0, 1702, 0, 0, 0, 1682, 1681, 0, 1569, 1571, 1545, 1567, 1731, 1732, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 1747, 1748, 1750, 1786, 1790, 1798, 0, 1688, 0, 0, 0, 1849, 0, 0, 3272, 3425, 3426, 0, 3420, 0, 3419, 3419, 3413, 3412, 3409, 0, 0, 3307, 0, 3311, 3309, 0, 3465, 3468, 0, 3466, 3467, 3469, 0, 3474, 3475, 0, 0, 0, 0, 0, 3456, 3444, 3451, 3453, 3455, 3454, 3463, 3459, 3462, 3464, 3406, 3419, 0, 3532, 3538, 3535, 2427, 0, 3527, 0, 3338, 1963, 1964, 1965, 1966, 1967, 1968, 3339, 0, 3336, 1962, 3337, 645, 646, 0, 0, 1473, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 0, 945, 0, 0, 0, 0, 1495, 1496, 1497, 0, 0, 0, 1498, 1499, 1487, 269, 1506, 1503, 1486, 1488, 1501, 1493, 0, 0, 0, 0, 0, 0, 0, 1518, 0, 200, 201, 0, 679, 663, 0, 2488, 0, 0, 0, 0, 1170, 1177, 1328, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 1169, 0, 1172, 271, 1182, 1209, 1212, 0, 0, 1127, 1130, 0, 0, 0, 0, 0, 1319, 0, 0, 0, 1319, 0, 0, 0, 1328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 296, 309, 374, 0, 0, 0, 2488, 1329, 0, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 162, 167, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 630, 643, 0, 0, 0, 0, 0, 640, 0, 0, 163, 299, 620, 626, 0, 0, 0, 729, 728, 0, 0, 0, 0, 0, 0, 1416, 0, 1415, 0, 0, 0, 0, 0, 1516, 1515, 0, 0, 0, 0, 0, 0, 1319, 0, 288, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 408, 0, 0, 0, 167, 0, 0, 1319, 0, 301, 0, 3342, 0, 1467, 1464, 1465, 0, 1470, 0, 0, 0, 0, 2075, 0, 2236, 1739, 2234, 1145, 2288, 0, 2285, 2284, 2344, 2291, 0, 0, 246, 247, 245, 1555, 248, 1556, 1551, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 2414, 2470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 842, 1487, 1525, 0, 0, 0, 672, 0, 2488, 0, 165, 880, 0, 832, 471, 0, 0, 0, 0, 1392, 165, 0, 0, 203, 0, 0, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 833, 0, 0, 165, 0, 2488, 623, 2488, 0, 547, 547, 0, 0, 154, 151, 0, 0, 0, 0, 0, 0, 0, 0, 3301, 3296, 3299, 0, 3289, 3303, 0, 1674, 1673, 1676, 1675, 0, 1672, 0, 156, 157, 0, 1219, 1244, 0, 0, 0, 1946, 1933, 1941, 1940, 0, 1923, 1922, 1921, 0, 1920, 0, 1947, 1947, 1945, 1924, 1899, 0, 0, 0, 1951, 0, 1949, 0, 909, 1895, 1891, 0, 1958, 1957, 1956, 0, 1905, 1914, 1911, 934, 0, 0, 1213, 0, 0, 2488, 158, 2488, 0, 2488, 0, 0, 0, 1221, 158, 0, 1215, 0, 0, 1217, 0, 1418, 0, 925, 923, 922, 924, 0, 0, 907, 0, 0, 0, 0, 0, 902, 0, 0, 904, 0, 0, 3657, 0, 0, 3660, 0, 3387, 0, 3746, 1596, 3743, 0, 0, 1716, 1574, 0, 1008, 0, 3750, 3751, 993, 0, 1003, 0, 3750, 991, 0, 1004, 1001, 1002, 0, 0, 0, 3744, 3633, 3639, 1007, 0, 0, 548, 550, 0, 0, 2436, 2452, 0, 2478, 2511, 2512, 2562, 2577, 2606, 2612, 2617, 0, 2646, 2657, 0, 1036, 1074, 1026, 738, 0, 0, 1637, 998, 996, 1441, 0, 1588, 2241, 0, 1716, 0, 0, 1259, 0, 0, 151, 264, 236, 0, 0, 1074, 0, 2610, 1454, 984, 663, 0, 0, 2070, 2071, 2280, 0, 0, 0, 0, 0, 0, 2069, 0, 0, 0, 2302, 0, 2302, 0, 0, 0, 0, 0, 1994, 0, 0, 2240, 0, 0, 2240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 1976, 1977, 3591, 2067, 2232, 0, 2068, 2355, 0, 1969, 2222, 0, 2219, 2220, 2221, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 0, 2855, 2856, 2857, 2858, 2859, 2861, 2860, 2862, 2863, 2864, 2865, 2866, 2867, 2295, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 2009, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 2011, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3117, 3115, 3116, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3175, 3174, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 0, 2216, 2217, 2218, 2210, 2211, 2212, 2213, 2214, 2215, 2226, 0, 0, 2334, 2380, 2379, 0, 2169, 0, 1991, 0, 2177, 0, 0, 1802, 1718, 0, 2353, 2283, 0, 3640, 3643, 2063, 1802, 3516, 3515, 3514, 3513, 3484, 0, 3478, 3479, 0, 3517, 3518, 280, 281, 277, 0, 0, 232, 231, 0, 254, 255, 226, 253, 0, 249, 250, 234, 2153, 2152, 233, 225, 222, 220, 237, 239, 240, 223, 221, 275, 273, 0, 0, 0, 0, 158, 3419, 1572, 1559, 0, 0, 2295, 0, 2230, 0, 0, 2228, 0, 0, 0, 1799, 0, 1704, 0, 1708, 1572, 0, 1568, 1699, 1698, 1740, 1741, 1111, 1697, 1769, 1770, 0, 0, 0, 0, 1795, 1793, 1760, 1751, 1759, 0, 0, 1757, 0, 1761, 1972, 1788, 1686, 1745, 1746, 1749, 1685, 0, 1791, 0, 1640, 1789, 1750, 1624, 0, 1602, 0, 0, 1850, 0, 0, 0, 3427, 3425, 3357, 1899, 3419, 3350, 3419, 3414, 0, 3304, 0, 3285, 3310, 3450, 2629, 3482, 0, 3483, 0, 0, 3447, 0, 3457, 3460, 3458, 3461, 0, 1899, 3533, 3636, 3636, 1899, 1971, 3333, 3375, 1474, 0, 0, 0, 1140, 1142, 0, 1141, 0, 1144, 0, 1153, 0, 0, 1139, 1158, 0, 1147, 1145, 0, 1514, 0, 0, 946, 0, 0, 0, 0, 1494, 0, 0, 0, 2646, 268, 1497, 1502, 1489, 1500, 0, 0, 0, 0, 0, 1076, 1075, 0, 0, 1095, 0, 0, 514, 1521, 536, 0, 376, 0, 0, 0, 0, 0, 0, 0, 0, 828, 825, 0, 0, 824, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 702, 0, 1319, 0, 307, 0, 1179, 0, 1178, 0, 1183, 0, 0, 1180, 1175, 1176, 2612, 2621, 2652, 270, 1181, 1211, 0, 1210, 1206, 0, 1122, 0, 1123, 0, 0, 0, 0, 0, 2462, 2488, 315, 338, 0, 1318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 363, 362, 0, 0, 0, 0, 0, 368, 0, 346, 0, 347, 0, 367, 0, 0, 0, 0, 0, 0, 1319, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 755, 0, 0, 2612, 1207, 0, 1401, 0, 2645, 1402, 1405, 547, 0, 547, 1407, 0, 0, 1404, 1406, 0, 0, 189, 0, 184, 188, 0, 0, 2612, 1208, 0, 0, 0, 0, 0, 628, 629, 642, 0, 633, 634, 631, 635, 636, 0, 0, 0, 0, 0, 0, 0, 627, 0, 0, 724, 723, 727, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 1202, 0, 0, 1409, 1417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 1261, 0, 0, 0, 0, 1329, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 742, 0, 741, 0, 185, 190, 0, 0, 0, 0, 0, 0, 0, 0, 244, 1463, 1469, 1739, 1739, 1739, 2081, 0, 0, 0, 0, 1738, 2286, 2289, 1542, 1548, 1541, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 418, 419, 421, 0, 0, 0, 0, 844, 0, 847, 850, 1485, 498, 0, 0, 669, 702, 0, 0, 474, 198, 0, 0, 0, 0, 757, 0, 1202, 1201, 160, 151, 207, 472, 0, 206, 208, 210, 211, 212, 209, 213, 0, 721, 725, 0, 0, 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, 1870, 0, 0, 183, 0, 0, 618, 622, 0, 3280, 0, 0, 474, 586, 387, 2488, 0, 547, 0, 2488, 0, 150, 0, 831, 0, 0, 0, 1164, 1164, 0, 0, 771, 770, 0, 0, 0, 0, 3302, 0, 3374, 0, 0, 0, 1671, 158, 1162, 0, 163, 0, 0, 0, 0, 158, 1944, 1943, 1896, 1892, 0, 0, 0, 0, 949, 0, 0, 0, 0, 0, 0, 1912, 158, 1126, 197, 2374, 0, 911, 0, 0, 0, 0, 158, 1230, 899, 158, 193, 158, 158, 668, 0, 158, 195, 0, 0, 158, 943, 158, 2342, 0, 158, 3658, 3664, 3662, 1599, 3747, 3741, 3742, 2488, 547, 1676, 1576, 1005, 1012, 994, 1011, 1010, 992, 1009, 1006, 3449, 0, 0, 3638, 0, 1023, 0, 546, 0, 0, 0, 0, 0, 1044, 1045, 0, 0, 1041, 1046, 0, 1048, 1032, 1034, 1042, 1043, 1049, 1038, 1037, 1050, 1051, 0, 0, 0, 1063, 736, 0, 0, 0, 0, 1634, 0, 1632, 0, 1848, 1636, 1625, 3373, 1589, 0, 1587, 0, 611, 1253, 1252, 1254, 0, 1020, 0, 158, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2245, 0, 2246, 0, 0, 2279, 2275, 0, 0, 0, 0, 0, 2252, 2253, 2254, 2251, 2255, 2250, 0, 0, 2256, 2249, 0, 0, 0, 2067, 2298, 2298, 2323, 0, 2322, 2328, 2236, 1972, 0, 0, 2319, 2313, 0, 2319, 0, 0, 0, 0, 0, 0, 2236, 2239, 0, 0, 2719, 0, 0, 0, 0, 2039, 0, 0, 2203, 0, 2236, 0, 0, 0, 0, 0, 0, 0, 2232, 2271, 0, 512, 0, 2029, 0, 0, 0, 2151, 0, 2148, 0, 0, 0, 0, 2292, 0, 0, 2356, 1973, 1987, 1988, 1989, 1992, 2333, 0, 2294, 0, 0, 1974, 2000, 0, 2272, 2025, 0, 2030, 2015, 2303, 2257, 2258, 2259, 2260, 2032, 0, 2008, 2013, 2017, 0, 2312, 1996, 0, 1993, 0, 2295, 2231, 0, 2229, 0, 1984, 1985, 1986, 1978, 1979, 1980, 1981, 1982, 1983, 1990, 2207, 2205, 2206, 0, 0, 2177, 0, 0, 2012, 0, 0, 2083, 2481, 2518, 0, 1730, 1730, 1730, 1717, 1728, 2332, 0, 1865, 1739, 3645, 3644, 2293, 1865, 0, 0, 0, 2338, 0, 0, 1969, 0, 274, 1846, 951, 952, 950, 1899, 1544, 1558, 1572, 2233, 1566, 1706, 0, 0, 1546, 1570, 0, 1109, 1110, 0, 1114, 2719, 2608, 0, 0, 0, 0, 1762, 1796, 0, 1787, 0, 1763, 2348, 2349, 1764, 1767, 1768, 1758, 1797, 1638, 0, 1792, 1690, 1689, 0, 1868, 0, 0, 0, 1616, 1604, 0, 0, 1851, 0, 1802, 1642, 0, 2292, 1800, 3355, 3421, 3360, 3389, 3351, 3392, 0, 3306, 3485, 3486, 0, 3476, 3477, 3446, 3452, 3523, 0, 3637, 0, 0, 1368, 1263, 1330, 1143, 0, 1914, 1154, 0, 1138, 0, 1137, 1914, 0, 1155, 0, 1914, 1369, 1264, 1331, 947, 1370, 1265, 1332, 1371, 1505, 1266, 1504, 1492, 1491, 1490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 2488, 158, 1519, 1372, 0, 1267, 375, 1520, 1333, 1524, 827, 826, 0, 0, 1334, 0, 678, 683, 0, 685, 686, 2414, 2470, 687, 690, 691, 0, 693, 682, 681, 0, 0, 0, 0, 0, 699, 701, 0, 0, 0, 0, 0, 0, 1173, 1174, 1373, 1270, 0, 1335, 0, 1121, 0, 1271, 199, 0, 0, 295, 2488, 317, 0, 496, 809, 0, 1321, 314, 344, 0, 359, 354, 355, 353, 2488, 158, 2488, 158, 0, 0, 0, 0, 0, 356, 351, 352, 348, 0, 0, 361, 2386, 2454, 2622, 0, 710, 712, 0, 717, 364, 1291, 383, 382, 381, 0, 369, 0, 388, 391, 0, 366, 345, 343, 340, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 1376, 1336, 0, 1358, 0, 0, 0, 0, 749, 1379, 1277, 1339, 0, 547, 0, 0, 562, 562, 547, 1390, 1278, 187, 1308, 0, 0, 172, 0, 0, 0, 0, 166, 176, 1380, 1279, 1340, 0, 0, 1381, 1280, 0, 0, 300, 621, 632, 637, 1285, 641, 638, 1348, 639, 1388, 1281, 0, 1384, 1311, 1343, 606, 1202, 1202, 1391, 1411, 1282, 1202, 0, 1319, 0, 289, 291, 0, 155, 0, 1283, 0, 1341, 1383, 1310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 1321, 2488, 158, 1382, 0, 1316, 0, 1356, 0, 0, 409, 0, 1309, 1319, 0, 302, 1287, 0, 1350, 0, 0, 242, 241, 243, 0, 0, 0, 0, 2237, 2238, 0, 2235, 2076, 2288, 0, 1538, 973, 959, 972, 0, 955, 2452, 0, 958, 960, 0, 0, 0, 961, 965, 966, 0, 957, 954, 956, 0, 420, 0, 0, 766, 767, 0, 0, 0, 0, 846, 0, 0, 1517, 0, 163, 676, 0, 0, 0, 671, 701, 706, 0, 0, 0, 0, 473, 477, 481, 482, 483, 0, 0, 0, 0, 177, 164, 0, 888, 0, 547, 0, 759, 1202, 1394, 0, 207, 202, 0, 0, 722, 0, 1567, 0, 0, 601, 2085, 604, 2086, 2087, 603, 0, 387, 841, 839, 838, 840, 862, 837, 0, 1869, 1871, 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 550, 0, 589, 0, 0, 0, 0, 586, 0, 0, 0, 0, 858, 3592, 830, 0, 1132, 0, 1150, 1133, 0, 0, 0, 0, 1187, 1194, 1163, 1188, 1165, 1194, 0, 0, 772, 776, 775, 779, 777, 0, 773, 650, 3300, 3294, 1677, 1678, 0, 1220, 0, 0, 1513, 0, 1511, 0, 1913, 1926, 910, 0, 1953, 1954, 1955, 1955, 0, 1897, 0, 3730, 3738, 3737, 0, 1938, 1906, 1214, 158, 0, 158, 0, 158, 1222, 1216, 1218, 1419, 0, 908, 0, 0, 901, 903, 0, 905, 0, 0, 3448, 3634, 1024, 549, 0, 0, 0, 0, 0, 0, 1040, 648, 1047, 0, 0, 0, 1062, 1057, 1059, 0, 1074, 1068, 0, 735, 0, 0, 1635, 1628, 1630, 1629, 0, 0, 1626, 2242, 900, 0, 617, 0, 1074, 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 2243, 2244, 0, 0, 0, 2276, 0, 0, 2120, 0, 2091, 2093, 2106, 0, 2121, 2074, 2298, 0, 2302, 2296, 2140, 0, 0, 0, 2302, 0, 2322, 0, 0, 2135, 2137, 0, 0, 0, 2312, 2312, 2122, 2095, 2097, 2107, 0, 0, 2223, 0, 2110, 2109, 0, 2041, 2042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2056, 2111, 2202, 0, 0, 0, 2113, 2112, 0, 0, 2270, 0, 0, 0, 2118, 513, 2123, 0, 0, 0, 0, 2129, 0, 2159, 0, 0, 0, 2064, 2233, 0, 0, 0, 0, 0, 0, 0, 2305, 2306, 2307, 2304, 0, 2031, 2016, 2034, 2010, 2014, 2018, 0, 2312, 2033, 0, 0, 2036, 0, 0, 2004, 0, 0, 2002, 2026, 1998, 0, 0, 2027, 0, 2082, 0, 0, 0, 2180, 2175, 2176, 1730, 1730, 1730, 1730, 1727, 0, 0, 0, 0, 2608, 2738, 0, 1826, 1801, 1803, 1813, 1826, 1833, 1826, 1863, 2339, 0, 1772, 0, 1772, 3498, 3500, 3501, 3502, 3503, 3504, 3506, 3507, 3509, 3510, 3511, 3499, 3505, 3508, 3512, 3489, 3490, 0, 3480, 3481, 218, 0, 251, 238, 3523, 1543, 1707, 1716, 1742, 0, 2224, 1114, 0, 1744, 1765, 1766, 0, 1755, 0, 1794, 1752, 1639, 1623, 0, 1621, 1608, 1610, 1609, 0, 0, 1611, 2292, 0, 1621, 1603, 0, 1647, 0, 0, 1868, 0, 1646, 0, 3423, 3343, 0, 0, 3522, 3525, 3537, 3534, 3353, 0, 1914, 1135, 1136, 0, 1159, 0, 1079, 1080, 0, 1078, 0, 0, 0, 535, 1094, 0, 0, 0, 809, 0, 0, 539, 0, 1522, 0, 1389, 1307, 680, 0, 0, 0, 0, 695, 654, 696, 698, 0, 0, 697, 700, 703, 1319, 0, 308, 1293, 0, 1354, 1167, 0, 0, 1124, 0, 0, 0, 0, 0, 0, 495, 492, 339, 0, 0, 0, 0, 163, 0, 319, 331, 394, 337, 0, 371, 0, 342, 0, 335, 357, 349, 358, 350, 370, 372, 0, 714, 715, 713, 709, 0, 716, 718, 0, 385, 0, 0, 0, 365, 0, 1375, 0, 1319, 0, 304, 1289, 0, 1352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1357, 0, 0, 0, 0, 754, 0, 751, 0, 562, 0, 1403, 0, 1400, 1398, 562, 0, 0, 169, 168, 0, 175, 0, 0, 0, 0, 0, 0, 1412, 1413, 1414, 0, 0, 0, 0, 0, 0, 403, 0, 311, 313, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 378, 0, 865, 0, 0, 0, 412, 0, 0, 1367, 0, 0, 0, 0, 0, 1374, 1272, 2079, 2080, 2077, 1739, 2287, 0, 0, 0, 970, 0, 0, 0, 0, 423, 424, 163, 422, 445, 0, 809, 0, 0, 843, 848, 856, 2552, 2210, 2211, 854, 849, 851, 853, 852, 855, 0, 0, 0, 0, 517, 0, 0, 0, 504, 0, 0, 514, 497, 500, 501, 0, 0, 672, 675, 673, 674, 0, 694, 0, 476, 524, 576, 0, 179, 0, 0, 180, 178, 0, 0, 387, 756, 0, 753, 1393, 0, 205, 0, 726, 0, 0, 0, 0, 0, 1202, 664, 0, 861, 863, 835, 0, 706, 0, 0, 623, 0, 547, 1600, 611, 0, 578, 476, 576, 585, 0, 0, 593, 386, 0, 0, 611, 387, 0, 0, 1095, 857, 0, 0, 0, 1131, 0, 0, 0, 1184, 1189, 1185, 0, 1164, 1146, 0, 1186, 0, 0, 1192, 1117, 1166, 1118, 1435, 1436, 1433, 1434, 0, 0, 0, 0, 0, 0, 3317, 1667, 3327, 0, 0, 1509, 0, 1932, 0, 1950, 1948, 1893, 0, 3419, 0, 0, 0, 0, 0, 1898, 912, 0, 895, 0, 897, 158, 743, 0, 158, 0, 0, 0, 0, 0, 0, 0, 1039, 0, 1033, 1035, 1060, 0, 0, 1074, 1073, 0, 1064, 1072, 1070, 1071, 1069, 0, 0, 1633, 1631, 609, 0, 0, 158, 1074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2247, 0, 2278, 2274, 0, 2088, 2248, 2301, 2300, 0, 0, 0, 2324, 0, 0, 2302, 2316, 2315, 0, 0, 2314, 2302, 2302, 0, 0, 0, 2203, 0, 0, 2040, 2052, 2053, 2054, 2263, 0, 2059, 0, 2049, 2050, 2051, 2043, 2044, 2045, 2046, 2047, 2048, 2055, 2267, 2266, 0, 0, 2115, 2116, 2117, 2269, 2124, 0, 2404, 2160, 0, 2128, 2150, 2149, 0, 0, 0, 2131, 0, 0, 2146, 0, 2204, 2357, 1975, 0, 0, 2001, 2273, 2019, 0, 2035, 2037, 2309, 2311, 1997, 2223, 0, 0, 0, 0, 0, 2006, 0, 0, 2200, 0, 0, 0, 2182, 2179, 0, 0, 0, 0, 1721, 1720, 1726, 1826, 1833, 1826, 0, 0, 1692, 0, 1813, 0, 1825, 1811, 1824, 0, 0, 1839, 1837, 0, 1839, 0, 1839, 0, 1805, 0, 1829, 1807, 1824, 1809, 0, 1855, 2340, 1864, 0, 1785, 2076, 1785, 0, 0, 0, 3521, 0, 0, 1743, 1112, 1113, 1753, 0, 1756, 0, 1866, 0, 1622, 0, 0, 0, 1613, 1619, 1601, 0, 0, 0, 1643, 1621, 1644, 3359, 0, 3422, 3487, 3488, 1156, 0, 0, 1148, 1085, 1086, 1089, 1087, 1084, 1088, 0, 0, 0, 809, 0, 0, 557, 0, 1108, 1108, 0, 0, 541, 598, 0, 812, 0, 0, 0, 810, 158, 1268, 0, 0, 0, 0, 655, 1387, 1269, 0, 0, 0, 0, 1168, 1322, 0, 0, 1292, 0, 316, 494, 493, 0, 491, 706, 0, 0, 322, 332, 0, 327, 0, 1320, 0, 0, 0, 326, 329, 328, 398, 0, 395, 0, 158, 158, 373, 711, 384, 389, 390, 393, 1327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 889, 872, 0, 0, 890, 891, 0, 0, 0, 1225, 1226, 1224, 1359, 1360, 1365, 1362, 1361, 1364, 1363, 1366, 0, 1275, 0, 0, 747, 1323, 1395, 1397, 1396, 0, 1399, 173, 170, 171, 174, 1324, 1305, 1286, 1349, 607, 0, 0, 0, 1284, 0, 1342, 0, 1301, 1295, 0, 0, 0, 0, 0, 1386, 1315, 1347, 1385, 1313, 1345, 1312, 1344, 1314, 1346, 1306, 0, 0, 1873, 869, 0, 0, 0, 158, 158, 868, 745, 1288, 0, 1351, 1297, 0, 0, 0, 962, 0, 0, 0, 964, 428, 446, 163, 0, 765, 829, 0, 0, 845, 0, 502, 0, 508, 515, 0, 0, 519, 520, 518, 503, 1202, 547, 1202, 798, 799, 0, 0, 819, 0, 670, 0, 0, 474, 0, 521, 0, 0, 478, 182, 181, 0, 0, 0, 760, 764, 762, 761, 763, 758, 0, 749, 207, 2488, 0, 0, 0, 0, 605, 599, 602, 1408, 836, 0, 1872, 739, 0, 387, 619, 3282, 0, 0, 474, 611, 3281, 0, 479, 484, 485, 498, 0, 586, 577, 0, 578, 587, 588, 0, 595, 1483, 0, 612, 595, 0, 0, 0, 859, 0, 860, 0, 1134, 1151, 1152, 0, 0, 1194, 0, 0, 1196, 1191, 0, 0, 778, 781, 774, 657, 0, 3290, 158, 0, 1512, 1894, 3731, 0, 3732, 3733, 3734, 3735, 3736, 158, 158, 1251, 0, 906, 1054, 1055, 1056, 1053, 1052, 649, 0, 1058, 1017, 1067, 737, 0, 610, 0, 1018, 158, 987, 979, 986, 975, 978, 980, 0, 982, 983, 977, 974, 976, 2277, 2105, 0, 2297, 2139, 2321, 2320, 2138, 2327, 0, 2318, 2317, 0, 0, 2108, 2119, 0, 2202, 2233, 0, 0, 2060, 0, 0, 0, 2114, 2728, 0, 0, 2164, 2165, 0, 2161, 2162, 2157, 2158, 2130, 0, 2541, 2141, 0, 0, 2156, 2023, 2021, 2020, 2308, 2310, 2005, 0, 0, 2003, 1999, 0, 2028, 2166, 2199, 2233, 2168, 0, 1739, 1725, 1724, 1723, 1722, 1812, 1808, 1810, 0, 2733, 0, 1815, 1822, 0, 1804, 0, 1838, 1834, 0, 1835, 0, 0, 1836, 0, 0, 1806, 0, 1822, 0, 1862, 1733, 0, 2171, 2354, 2171, 3491, 0, 3494, 3492, 3493, 3497, 252, 1711, 0, 1754, 0, 3746, 1605, 0, 1606, 1612, 0, 0, 0, 0, 0, 1648, 1641, 3424, 1149, 1157, 0, 0, 0, 537, 0, 552, 0, 0, 0, 1101, 153, 1100, 0, 552, 552, 814, 813, 816, 811, 815, 1523, 0, 688, 689, 692, 1294, 0, 1355, 1303, 0, 1637, 318, 490, 489, 498, 325, 0, 0, 0, 320, 397, 399, 321, 324, 378, 341, 334, 0, 0, 0, 1290, 0, 1353, 1299, 1326, 1377, 1273, 1337, 0, 0, 878, 0, 0, 0, 0, 1378, 1274, 1338, 0, 0, 0, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, 0, 377, 867, 866, 378, 411, 1317, 0, 2078, 0, 963, 968, 969, 967, 0, 417, 425, 428, 0, 0, 1242, 1242, 0, 0, 499, 516, 0, 597, 556, 597, 0, 0, 0, 0, 0, 707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 751, 204, 0, 474, 0, 706, 0, 864, 0, 0, 0, 0, 476, 0, 0, 3740, 475, 0, 0, 487, 0, 589, 578, 586, 0, 0, 608, 0, 1476, 0, 614, 0, 0, 0, 808, 1190, 0, 1204, 0, 1145, 1115, 1199, 0, 1716, 1865, 0, 0, 0, 0, 791, 0, 661, 3316, 3320, 1243, 1510, 3739, 896, 898, 744, 1061, 0, 1074, 1066, 981, 2299, 2326, 2136, 2325, 2262, 2204, 2057, 0, 2265, 2264, 2268, 0, 2125, 0, 2126, 2163, 2132, 2142, 0, 2133, 2154, 0, 0, 2024, 2022, 2007, 2201, 0, 2186, 1858, 0, 1861, 0, 0, 1814, 0, 0, 1816, 0, 0, 1818, 1820, 0, 0, 0, 0, 0, 0, 2343, 0, 1784, 0, 1694, 1693, 3496, 3495, 0, 1714, 2225, 1867, 1620, 0, 0, 0, 1096, 0, 0, 1649, 1650, 1645, 1062, 0, 158, 1108, 0, 1202, 558, 2552, 559, 1107, 1111, 152, 0, 1202, 1202, 684, 0, 0, 297, 486, 0, 323, 333, 380, 392, 0, 1637, 0, 0, 876, 885, 885, 873, 0, 0, 892, 1276, 748, 0, 561, 0, 292, 1302, 1296, 0, 0, 0, 1534, 1535, 0, 0, 0, 0, 0, 1325, 158, 1298, 971, 0, 448, 455, 429, 433, 1526, 0, 1526, 0, 430, 434, 1526, 1526, 427, 1865, 444, 1242, 0, 1239, 1238, 545, 625, 0, 0, 506, 0, 567, 505, 0, 820, 0, 0, 705, 0, 476, 576, 0, 534, 525, 526, 527, 528, 530, 529, 531, 532, 533, 523, 522, 0, 706, 882, 387, 1483, 746, 0, 0, 719, 0, 706, 0, 1600, 611, 578, 476, 576, 1597, 480, 498, 0, 593, 586, 589, 0, 590, 0, 594, 0, 0, 0, 611, 1536, 1095, 0, 0, 809, 1203, 1164, 0, 0, 1193, 1197, 1198, 0, 0, 0, 0, 1246, 785, 786, 780, 782, 0, 793, 797, 656, 0, 0, 660, 651, 0, 3318, 706, 158, 0, 2058, 0, 0, 2144, 2143, 2155, 2134, 2181, 0, 0, 0, 0, 1863, 0, 0, 1857, 0, 0, 1887, 0, 0, 0, 1823, 1841, 0, 1819, 1817, 0, 1830, 0, 1832, 2432, 2699, 2605, 0, 1771, 1773, 1776, 1778, 1777, 1779, 1775, 2170, 2172, 0, 0, 0, 0, 1705, 0, 1618, 1865, 0, 1615, 0, 1658, 0, 1651, 1081, 0, 1082, 1102, 0, 597, 0, 1114, 1111, 547, 597, 597, 1304, 0, 625, 0, 336, 0, 305, 1300, 0, 0, 887, 887, 0, 0, 0, 0, 0, 0, 405, 0, 0, 1528, 0, 1529, 1530, 1533, 413, 426, 0, 453, 0, 451, 450, 452, 0, 441, 0, 0, 0, 0, 0, 0, 416, 1237, 1241, 1240, 0, 507, 0, 509, 0, 0, 553, 554, 555, 0, 511, 563, 564, 817, 0, 822, 0, 708, 0, 0, 706, 575, 730, 0, 0, 0, 1477, 0, 0, 600, 740, 1483, 611, 3283, 586, 0, 578, 488, 0, 595, 589, 593, 591, 592, 0, 1480, 0, 613, 0, 1104, 807, 0, 1194, 1205, 1200, 1195, 1439, 0, 0, 783, 788, 787, 1526, 792, 0, 0, 0, 659, 658, 3321, 3323, 3322, 0, 734, 1019, 2261, 2147, 2127, 2145, 2687, 0, 2660, 0, 2198, 2187, 2198, 2198, 2178, 1856, 1859, 0, 1890, 0, 0, 0, 0, 1876, 0, 1821, 0, 0, 1831, 0, 0, 0, 1780, 0, 0, 0, 0, 0, 0, 1607, 1617, 1097, 0, 0, 0, 1658, 0, 0, 562, 0, 1098, 1114, 556, 809, 809, 1637, 330, 379, 0, 0, 0, 883, 886, 874, 875, 894, 893, 750, 1637, 0, 401, 400, 0, 404, 0, 449, 458, 0, 456, 431, 436, 0, 440, 438, 437, 432, 435, 544, 0, 0, 0, 0, 0, 0, 565, 0, 566, 0, 821, 0, 0, 0, 732, 881, 0, 0, 474, 706, 1478, 3740, 589, 578, 586, 0, 0, 580, 1108, 1108, 461, 593, 595, 1481, 1482, 0, 0, 514, 0, 1116, 1438, 1437, 1716, 0, 0, 0, 794, 795, 790, 0, 0, 3319, 0, 2191, 2190, 2189, 2193, 2192, 0, 2185, 2183, 2184, 0, 0, 1888, 1889, 1874, 0, 0, 1878, 1828, 1854, 0, 0, 0, 1774, 2173, 2174, 0, 0, 0, 1865, 1657, 0, 0, 158, 551, 809, 560, 1099, 567, 540, 538, 298, 1637, 877, 0, 293, 0, 406, 1531, 454, 0, 439, 624, 510, 596, 572, 0, 571, 0, 569, 568, 818, 823, 0, 706, 871, 1483, 720, 1598, 593, 586, 589, 0, 579, 0, 153, 153, 595, 459, 0, 0, 387, 0, 1421, 1716, 1420, 1422, 1430, 1427, 1429, 1428, 1426, 0, 1249, 1250, 784, 789, 0, 0, 0, 0, 2195, 0, 2196, 1860, 0, 1877, 1880, 0, 0, 1886, 1879, 1881, 0, 0, 1840, 0, 1852, 1782, 0, 1781, 0, 0, 0, 1614, 1660, 0, 0, 1652, 1653, 0, 1083, 542, 809, 306, 884, 0, 457, 570, 547, 547, 706, 731, 1479, 595, 589, 593, 1108, 581, 583, 582, 463, 1104, 1105, 0, 595, 797, 0, 1431, 1425, 1692, 1679, 0, 0, 796, 0, 2188, 2194, 2197, 0, 1884, 1885, 1882, 1883, 1827, 0, 1783, 0, 0, 0, 0, 1655, 0, 0, 0, 1654, 543, 0, 574, 573, 733, 462, 593, 595, 153, 514, 1103, 0, 1865, 0, 1423, 1716, 0, 0, 802, 0, 0, 1710, 1709, 0, 0, 1713, 1659, 1656, 0, 0, 0, 0, 1661, 402, 595, 460, 584, 387, 1106, 1090, 0, 1424, 0, 0, 0, 800, 803, 806, 804, 805, 0, 1853, 0, 0, 1665, 0, 0, 0, 464, 595, 0, 0, 0, 768, 0, 1875, 1739, 0, 0, 0, 0, 1865, 0, 0, 0, 801, 0, 0, 1662, 1666, 0, 1663, 1091, 802, 1247, 1248, 0, 1712, 0, 0, 0, 769, 1664 }; /* YYPGOTO[NTERM-NUM]. */ static const int yypgoto[] = { -6179, -6179, 4927, -767, -2111, -5588, -1544, 6660, -6179, -6179, -1191, -1653, 3045, -2787, -6179, -6179, -6179, 1300, -6179, -6179, -6179, -6179, 3898, -6179, -3387, -6179, -6179, 73, 3846, -1827, 49, 3381, 1329, -6179, -1382, -6179, -6179, -990, -72, -6179, 3900, 464, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -1241, 1826, -6179, 1911, 1140, -3327, -6179, -6179, -2010, -4248, -6179, 377, -6179, 405, -5298, -1276, -6179, -6179, -6179, 1807, -6179, -6179, -6179, 1755, 936, -672, -6179, -6179, -6179, -6179, -6179, -6179, -1107, -6179, -6179, -1387, -65, -1002, -3418, -4785, -6179, -6179, 229, -715, -1978, -6179, 420, -6179, 423, -6179, -5320, -6179, -292, -3155, -2616, -6179, -6179, -6179, -685, -1950, 1234, -6179, -1061, -1620, 1594, -2568, -1236, -6179, -560, -4066, -1356, -1116, -1114, -1267, -4808, -5362, -6179, -6179, -1388, -4289, -5662, -5893, -5279, -5285, 1245, -6179, -318, 231, -6179, -4105, -4865, -60, 206, -6179, -59, -58, -6179, 222, -1050, -1348, -2095, -6179, -879, -6179, -6179, -6179, -3941, -6179, -6179, -6179, 78, -6179, -6179, -6179, -6179, 271, -6179, -6179, -6179, -6179, -6179, -6179, -3600, 1776, 1778, -6179, -4877, -6179, -1319, -6179, 430, -3970, 1166, -6179, -6179, 932, 3912, 249, -6179, -6179, -6179, -6179, -6179, -6179, -2186, -6179, -6179, -6179, -6179, -294, -654, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -56, -6179, 891, 191, -6179, -6179, -943, -6179, -6179, -6179, -6179, -6179, -6179, -1442, -5670, -1552, -1530, -6179, -3972, -6179, -6179, -6179, -626, -6179, -6179, -6179, -6179, -6179, -1327, -6179, 991, -4605, -6179, -6179, 233, -6179, -6179, -6179, -6179, -6179, -1242, -566, 3056, -6179, -798, -1020, -6179, -6179, -6179, -561, -6179, -6179, -6179, -6179, -6179, -807, -1687, 5201, 4333, -1527, 6237, -1263, -890, -6179, -6179, -6179, -3140, -6179, -6179, -4813, -6179, 5191, 124, -336, -55, -6179, -114, -16, 3660, -6179, 834, -1607, -3623, 178, -754, -6179, -6179, -6179, 176, -6179, -2425, -6179, -6179, -6179, -6179, -4583, -53, -6179, -4858, -5669, -5073, -4593, -1407, -6179, -4608, -5602, -4585, -6179, 1812, -6179, -6179, -887, -886, 3031, -6179, -1969, 2156, -1889, -6179, -3075, 256, 1332, 3038, -3706, -839, 3020, -3469, -6179, -1058, 926, -6179, -649, -4262, -6179, -6179, -6179, -3240, -884, -6179, -6179, -755, 347, -6179, -6179, -6179, -6179, -981, 2968, -919, -6179, -6179, 4298, -6179, -5434, -6179, 4259, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -1933, 1098, -6179, -1121, -6179, -6179, 1916, 471, -6179, -6179, -6179, -6179, 1187, -137, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -1216, -1428, -6179, -6179, -6075, -6179, -6179, -6179, -6179, -6179, 489, -1339, -1110, 4141, 566, -52, -5843, -6179, -6179, -761, -6179, 3366, -6179, -6179, -6179, -6179, -6179, 250, 251, -6179, -6179, -6179, -6179, -4598, -6179, -6179, -5531, -6179, -6179, 1898, -6179, -6179, 1080, -69, 3155, -6179, -6179, -6179, -100, -6179, -6179, -1390, 2282, -6179, -2797, -6179, -912, -6179, -6179, -2360, -51, -4840, -67, -6179, -6179, -5583, -1434, 32, -6179, -6179, -4431, -64, -6179, -6179, -6179, -6179, -5553, -6179, -63, -6030, 618, -3777, -6179, -66, -6179, -709, -1118, -6179, -6179, -6179, -4156, -50, 94, 3760, 1723, -70, 2073, -156, -120, -106, -71, 58, 3532, -6179, -6179, -6179, -4850, 3555, -6179, -109, -1198, -6179, -6179, -1217, -246, 183, 1455, -954, 2256, 3495, 3498, -6179, 1442, 2285, -2838, -2842, -6179, 686, -1224, -1095, -6179, -6179, -6179, -6179, 71, -945, 2270, -6179, 3535, -6179, -6179, -6179, -2784, -3832, -3807, 711, -4482, -4374, -6179, 107, 93, -1732, -660, -108, -1923, -1152, 1677, -6179, -6179, 721, -869, -6179, -6179, -867, -3816, 649, -6179, -5481, -3266, 726, -1386, -1195, -6179, -1290, -6179, -1057, 6710, -2169, -1493, -6179, -6179, -1420, 11290, -6179, -6179, -6179, 17437, 23366, -6179, -6179, 25326, 31876, -6179, -1243, 32025, 7892, -1471, -1458, -1144, 31976, -2410, -1077, 268, -6179, -3436, -3335, -6179, -6179, -6179, -617, 790, 401, -6179, -6179, -5505, -4905, -6179, 2409, -377, -6179, -1065, 1541, -1064, -6179, -6179, -6179, -2978, -5952, -3121, 2415, -6179, -6179, -6179, -864, -6179, 32581, -3664, -6179, -1173, -1395, -2059, 2899, -3200, -2323, -6179, -6179, -6179, -3561, -6179, -6179, -6179, -877, 1564, -6179, -6179, 1685, -6179, -6179, -6179, -1315, 1960, -1153, -3565, 1576, -2352, -3487, -6179, -2391, 1589, -2560, -6179, -2373, 1663, 879, -6179, -1490, -6179, -6179, -1149, 2427, -1161, 33718, -1003, 30719, -1774, -6179, 10431, -6178, 537, -94, -753, 7003, -791, -946, -6179, 8837, 9783, 7383, -4134, -6179, -6179, -6179, -48, -6179, -6179, -6179, -6179, 4767, 1010, -6179, 3935, -6179, 1864, 3133, -6179, -6179, 2305, -980, -47, -6179, -997, -6179, -91, -6179, -6179, -6179, -6179, 1014, 103, -984, 5320, -6179, -6179, -6179, -6179, -6179, -6179, 3556, -6179, -6179, -1696, -6179, -6179, -6179, -6179, -6179, 5144, -271, -6179, 4362, -268, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 3570, 2320, -6179, 4143, -6179, -6179, -6179, 64, 3780, -6179, -6179, -6179, -648, -934, 4176, 4189, 2315, -6179, -6179, -6179, -6179, -6179, -6179, -6179, -6179, 2325, -6179, -6179, 1577, -2895, 2326, -6179, -6179, 719, -6179, -6179, 161, -6179, 722, -6179, 3656, -6179, -6179, -6179, 763, -6179, -6179, -6179, -540, 22567, 27, 74, 88, 470, -6179, 17813, 16452, -76, -936, 12371, 26997, -13, -6179, 5148, 2324, 1824, -1165, -6179, 316, 3048, 31236, -6179, -1158, 14, -2, -1157, 3305, -714, -1341, 3882, -771, -2325, -6179, 5487, -6179, -4126, -5649, -1199, -312, 4363, -1361 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { 0, 1, 162, 163, 1475, 1480, 2298, 2324, 164, 165, 2102, 3507, 3361, 4342, 4343, 166, 167, 2098, 168, 169, 170, 171, 2016, 172, 2270, 3521, 173, 3199, 1211, 1212, 1213, 3052, 3053, 3452, 3054, 3041, 1836, 2216, 2038, 1176, 1177, 1997, 2039, 175, 176, 1830, 3033, 177, 178, 179, 2069, 2159, 2070, 2071, 2010, 5514, 6330, 4132, 3318, 4393, 4133, 4134, 4834, 4835, 4923, 6344, 6345, 180, 2175, 2176, 181, 182, 3489, 4308, 4976, 5916, 5917, 6154, 994, 5537, 5538, 6141, 6142, 6358, 6522, 6523, 3522, 1025, 4388, 5060, 4333, 5609, 4334, 5610, 4335, 5611, 5405, 5406, 4824, 4825, 4319, 5007, 5008, 2526, 5550, 5009, 4336, 5569, 6188, 4337, 3218, 6373, 3556, 2445, 2443, 6088, 6167, 5367, 5368, 4897, 6382, 6383, 6384, 6644, 5571, 5615, 5616, 6559, 6560, 4391, 5066, 5622, 5974, 6165, 4030, 184, 4361, 4362, 185, 2292, 4514, 1108, 3559, 1026, 1109, 3523, 189, 3549, 6375, 3550, 2128, 3375, 4989, 4490, 190, 1503, 4799, 5999, 6249, 6250, 1093, 191, 2278, 192, 193, 3502, 4326, 194, 3235, 4047, 195, 196, 4066, 4067, 4068, 197, 5017, 5935, 2072, 4121, 4122, 4123, 4124, 4855, 198, 2273, 3530, 3531, 199, 200, 201, 3696, 3697, 202, 3438, 203, 204, 205, 206, 4891, 5471, 5585, 4163, 4349, 5033, 5583, 207, 4312, 3524, 3577, 4426, 4427, 5997, 6241, 6242, 6243, 6434, 6680, 6245, 6436, 6581, 6438, 5560, 6815, 6816, 6226, 4788, 5381, 209, 5561, 5562, 6388, 210, 3233, 211, 212, 2247, 3495, 3496, 4990, 3566, 4400, 4401, 5046, 5047, 213, 4250, 214, 5447, 5448, 1027, 6396, 6336, 6508, 215, 216, 5451, 5452, 217, 218, 219, 220, 221, 1094, 1438, 1439, 1096, 1605, 1606, 4001, 1550, 222, 3064, 223, 4288, 224, 1705, 5685, 225, 1133, 1632, 1633, 3525, 227, 1145, 3716, 1147, 3680, 3681, 2461, 4494, 4495, 5150, 228, 229, 4498, 4499, 5157, 3693, 230, 2003, 3209, 3210, 5362, 3526, 1028, 4025, 6076, 5826, 6077, 6570, 6739, 5827, 3925, 4727, 232, 1029, 2044, 3274, 1573, 1574, 3570, 4406, 3177, 3178, 2199, 5087, 3180, 4408, 3181, 1976, 3182, 1522, 1523, 4414, 4415, 4416, 4417, 5083, 5093, 5094, 5991, 6234, 5090, 2266, 5985, 5986, 233, 2041, 3271, 234, 235, 236, 2081, 1361, 1583, 1584, 237, 1055, 1056, 238, 6159, 239, 1525, 240, 5995, 241, 242, 1690, 1691, 1166, 243, 244, 3288, 4837, 245, 2042, 246, 247, 4157, 4158, 5463, 248, 249, 250, 3347, 3348, 251, 252, 253, 254, 255, 6670, 6742, 6743, 6744, 5101, 6575, 256, 1676, 257, 258, 259, 260, 973, 1403, 1404, 1405, 1322, 3527, 5976, 262, 263, 1998, 1999, 2000, 2001, 3204, 264, 265, 266, 4438, 4439, 267, 268, 269, 270, 2250, 271, 272, 6132, 273, 274, 2220, 275, 276, 1412, 1413, 1414, 1415, 2218, 3913, 988, 1232, 1863, 1869, 1873, 1874, 1875, 278, 1111, 279, 1681, 1443, 1112, 1625, 1113, 3123, 3955, 4742, 4743, 4744, 4747, 5809, 5334, 1114, 3951, 283, 2468, 3702, 3705, 3947, 1115, 3961, 3962, 3963, 4751, 1116, 6080, 6081, 6489, 6713, 6714, 6770, 6803, 1117, 1135, 1514, 3585, 1118, 1783, 289, 290, 291, 1241, 1235, 1236, 3918, 6070, 6304, 293, 3010, 3887, 1155, 1879, 1195, 1196, 1249, 3462, 3089, 3090, 3114, 3115, 1888, 1889, 3102, 3106, 3107, 3937, 3931, 3095, 5316, 6291, 6292, 6293, 6294, 6295, 6296, 5788, 3110, 3111, 1891, 1892, 1893, 3119, 294, 3891, 4682, 4683, 4684, 5293, 5294, 6700, 5308, 5304, 5773, 6053, 4685, 1222, 1670, 1900, 5781, 6702, 4686, 6042, 6043, 6271, 5312, 4691, 4738, 4376, 4377, 4378, 4687, 6467, 6468, 6696, 6697, 6273, 6274, 3183, 2354, 1552, 1784, 1553, 2362, 1785, 2338, 1555, 1786, 1787, 1788, 1558, 1789, 1790, 1791, 1561, 2330, 1792, 1793, 2348, 929, 930, 1864, 6275, 1795, 1796, 1797, 4688, 1798, 5246, 5737, 5723, 3810, 3811, 3049, 6035, 5242, 4616, 5236, 3003, 3007, 6065, 6298, 6299, 3880, 4667, 5275, 5756, 6267, 6455, 6456, 6592, 1799, 1800, 1801, 3872, 2996, 1364, 1802, 4992, 2998, 3801, 3779, 2202, 3780, 2475, 2496, 3735, 3750, 3751, 3848, 3781, 3789, 3794, 3802, 3834, 1803, 3737, 3738, 4536, 2498, 1804, 1409, 2205, 1410, 3018, 3829, 3760, 4548, 5699, 3761, 3849, 4649, 3768, 3769, 4564, 4554, 3762, 1805, 4556, 1820, 1806, 1807, 2462, 1223, 6049, 804, 2207, 1152, 1808, 1809, 1810, 1318, 725, 1576, 1577, 727, 2999, 788, 789, 976, 903, 3000, 2, 70, 1119, 4385, 5959, 296, 297, 1031, 1032, 1033, 1505, 1506, 2308, 2311, 1915, 3142, 731, 732, 805, 5651, 6000, 6252, 1102, 298, 299, 300, 301, 302, 1319, 1969, 931, 71, 79, 72, 1275, 336, 337, 3135, 303, 921, 304, 1903, 1264, 4757, 305, 306, 307, 308, 309, 1099, 310, 1266, 311, 1267, 312, 313, 314, 315, 1274, 316, 1905, 1906, 5349, 1907, 317, 318, 791, 792, 1623, 319, 320, 1291, 2412, 1293, 1652, 1921, 1935, 1936, 1937, 321, 739, 322, 323, 324, 1927, 1928, 325, 3026, 3027, 3147, 3028, 326, 3974, 3975, 327, 4709, 4710, 5794, 4711, 328, 3022, 329, 330, 1226, 4762, 331, 917, 332, 1305, 793, 794, 795, 978, 907, 1181, 796, 980, 4125, 909, 797, 798, 799, 2437, 73, 3982, 2438, 1812, 806, 1813, 3016, 1814, 1815, 1816, 1817, 1818, 1819, 801, 1281, 1615, 1616, 3983, 1618, 77, 1619, 333, 4455, 2413, 1653, 3646, 2423, 2424 }; /* 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[] = { 75, 174, 292, 287, 277, 1240, 281, 285, 183, 282, 284, 2201, 908, 186, 187, 188, 74, 208, 226, 1853, 231, 261, 280, 286, 1042, 295, 1048, 1469, 1186, 2127, 1362, 1137, 3388, 2215, 1261, 1894, 790, 1262, 2442, 1137, 1831, 1416, 1221, 1225, 1250, 1162, 908, 1821, 1880, 1317, 1882, 2370, 2344, 292, 3217, 1110, 3312, 790, 1335, 2132, 1865, 4029, 3718, 1982, 1516, 2193, 1368, 1034, 1041, 1373, 1047, 1858, 3283, 1859, 3275, 911, 1041, 2350, 908, 735, 4693, 1661, 1662, 1663, 3643, 1363, 3179, 1667, 4332, 1041, 2275, 2486, 1608, 1289, 4516, 2209, 1323, 4364, 1845, 3544, 3284, 1626, 4418, 3994, 3996, 2360, 4898, 5071, 1517, 911, 3786, 1146, 1035, 2334, 2335, 904, 3709, 1057, 4736, 3767, 4826, 5045, 3295, 2343, 4805, 1938, 1187, 1667, 1183, 1153, 3897, 4354, 1940, 1943, 1183, 1183, 2126, 3456, 3771, 2478, 5325, 911, 2260, 2480, 1363, 2158, 2481, 2482, 4850, 904, 4852, 4749, 3418, 3419, 3179, 2185, 5096, 3763, 2284, 4247, 1292, 1416, 905, 4215, 1317, 1957, 1959, 1960, 971, 3349, 3349, 3734, 1252, 3349, 5599, 3599, 906, 1244, 803, 970, 808, 904, 1437, 4750, 4993, 2045, 1253, 3563, 1587, 5369, 1175, 1591, 1339, 5608, 1628, 5364, 905, 1218, 4365, 1651, 1599, 1371, 985, 2180, 5307, 5625, 3266, 3189, 1363, 3633, 906, 1045, 3136, 3136, 1838, 1393, 5629, 5607, 1238, 1416, 1210, 6074, 2073, 3414, 174, 292, 287, 277, 905, 281, 285, 183, 282, 284, 5568, 3896, 186, 187, 188, 6093, 208, 226, 906, 231, 261, 280, 286, 2091, 295, 1134, 3445, 4624, 2108, 1464, 5618, 5431, 5971, 1134, 1517, 1473, 4725, 6046, 3266, 6171, 2248, 3943, 1858, 3940, 2253, 3911, 5939, 1487, 4549, 2257, 4351, 2408, 5617, 2040, 5055, 3266, 2429, 1317, 2267, 4644, 4766, 1416, 1589, 3919, 2331, 2332, 1860, 1280, 2350, 5967, 6101, 1887, 2287, 1416, 5828, 2342, 1602, 6058, 2361, 6060, 1890, 1917, 1918, 6211, 2334, 2335, 2040, 5305, 6224, 5310, 6207, 2040, 5340, 4761, 6411, 5970, 3024, 1930, -1955, 1509, 1284, 5119, 4580, 1617, -1914, 3246, 5728, 4291, 2343, 4294, 4295, 39, 2328, 6124, 4299, 4300, 4301, 3349, 4303, 4304, 4305, -1927, 5825, 5978, 992, -2347, -1947, 6398, -1952, 1920, 1923, 5687, 5688, 5689, 3062, 5691, 5692, 5693, 5694, 5695, 2547, -1942, 6134, 6135, 39, 39, 2283, 3714, -3595, 4551, 974, 339, 4561, 1930, 339, 1306, 3425, -3595, -3595, 38, 39, -3596, 1707, 1708, 2240, 40, -2346, -3593, 4272, 2321, -3596, -3596, 3069, 733, 972, 4755, -3593, -3593, 87, 4322, -3592, 1321, 5081, 3827, 88, 89, -2744, 2321, -1955, -3592, -3592, 92, 93, 39, 39, -2744, -2744, 94, 922, 6335, 1699, 5835, 2414, 2466, 3296, 3071, 95, 2264, 96, 1230, 97, 2435, 1496, 6685, 3827, 1399, 99, 1138, 4633, 2321, 4518, 3223, 6799, 5893, 1835, 1138, 339, 2411, 39, 2321, 2321, 38, 39, 6614, 1707, 1708, 3691, 40, 2321, -447, 737, 2074, 2012, 4806, 2262, 1517, 339, 5894, 5632, -2208, 2331, 2332, 3890, 4561, 1294, 2321, -2208, 40, -163, 4504, 1824, 3487, 3086, -163, 6160, 6378, 35, 6321, 339, -163, 37, 5807, 339, 39, 923, 6585, 6672, 38, 3505, -2534, 2342, 2321, 2193, 40, 1125, 4310, 2231, 2356, 4138, 39, 4323, 35, 339, 5578, 6686, 37, 6565, 38, 39, 1679, 5497, 3405, -1768, 40, 2313, 5851, 6309, 6102, 1126, 5558, 5566, 3945, 2217, 3334, 6100, 69, 2227, 1400, 3803, 2209, 2232, 5042, 2233, 6851, 5725, 4580, 3869, 6413, 3510, -2473, 116, 4365, 6332, 3870, 1958, 3430, 6553, 339, 3261, 87, 990, 1363, 38, 39, 924, 88, 89, 925, 40, 2012, 4185, 1333, 92, 93, 6285, 3541, 2013, 2222, 94, 122, 2547, 4074, 6795, 923, 1665, 934, 4580, 95, 1100, 96, 6672, 97, 2265, -2227, 1401, 1840, 991, 99, 4740, 126, -2227, 3744, 2245, 3011, 6212, 2541, 1097, 6687, 5579, 2090, 3516, 4365, 3069, 6199, 2107, 3063, 3372, 3011, 3035, 4365, 1227, 4534, 3, 1034, 4982, 6379, 2542, 2547, 1190, 3286, 3546, 3039, 6800, 4552, 3286, 4741, 4562, 4041, 4170, 3946, 3412, 6168, 6838, 1287, 1288, 3071, 1308, 3058, 3059, 1262, 4185, 129, 1402, 924, 3014, 3262, 2357, 5726, 1136, 3069, 3286, 3286, 932, 3286, 3286, 2368, 1136, 6662, 1035, 3511, 926, 4917, 3286, 1666, 3335, 1460, 3313, 3745, 4075, 3698, 926, 6162, 2322, 2013, 3804, 5559, 3286, 1041, 1041, 2472, 4634, 6801, 3071, 5091, 6310, 3506, -1768, 5580, 1651, 2246, 2322, 6380, 3313, 1651, 5498, 932, 933, 6672, 4324, 5808, 2491, 116, 3691, 738, 2418, 4505, 6496, 4311, 3008, 6369, 3313, 135, 4993, 4806, 3129, 4139, 2209, 5567, 6751, 2265, 1540, 3691, 2322, 6797, 3488, 1295, 1054, 4562, 5963, 5895, 122, 2467, 2322, 2322, 4273, 3297, 6564, 3746, 5465, 933, 3747, 2322, -2534, 5836, 1517, 6688, 1280, 6729, 3040, 3298, 126, 3299, 1666, 1952, 2080, 3355, 3542, 1231, 2322, 926, 1931, 3828, 4635, 1501, 3251, 1407, 2467, 3224, 5577, 1408, 6801, -2473, 1666, 1638, 5536, 3426, 5082, 1643, 1644, 1645, 2378, 2368, 927, 1702, 2322, 3454, 3455, 1656, 4325, 5307, 2329, 3730, 4653, 993, 6728, 3109, 2345, 2346, 3699, 5374, 3393, 6536, 129, 6519, 4752, 3406, 3407, 3664, 4595, 5626, 6028, 1285, 2014, 5473, 3300, 2347, 1931, 1926, -2534, 5477, 2192, 2333, 3327, 3025, 6778, -2208, 6802, 1297, 6406, 2407, -2534, 2246, 2323, 2004, 4974, 4975, 3037, -2473, 2337, 3453, 1407, 1386, -2347, -1947, 1408, -1952, 2995, 4636, 1680, 151, 2351, 3082, 5581, 3748, 4553, 3606, 3635, 4563, -1942, 5290, 2463, 2544, 3012, 6012, 1334, -3595, 154, 1286, 1932, 1933, 6805, 2358, 135, 5043, 2436, 6409, 2015, 2477, -3596, 6654, 1517, 158, 2365, -2346, -3593, 6664, 2345, 2346, 1517, 1517, 911, 6653, 2376, 2398, 2487, 3314, 5761, -3592, 5763, 6683, 5813, 2401, 3871, -2744, 4768, 2349, 4769, 3674, 292, 1448, 3902, 6823, 1444, 1447, 1847, 1445, 1446, 3383, 2368, 3689, 3386, 3314, 3143, 5582, 3515, 3431, 3120, 3611, 1320, 4993, 904, 2246, 3543, 6626, 1511, 3121, 3736, 1240, 2100, 3314, 1932, 1933, 3328, 3969, 5149, 5043, 6630, 2005, 4042, -2227, 3042, 3968, 5036, 2246, 3432, 3055, 3055, 3134, 4912, 4913, 1131, 1132, 2101, 4914, 3691, 3749, 3413, 6595, 1461, 3270, 3461, 3444, -163, -163, 1441, 3981, 1280, 905, 1041, 3985, 6731, 5658, 5659, 5660, 5661, 5662, 1315, 1316, 5010, 5092, 4713, 906, 1895, 6163, 5540, 5200, 1630, 4918, 4070, 6317, 4146, 4955, 3211, 3162, 1254, 3009, 1315, 1316, 2092, 5391, 151, 4876, 1631, 3700, 1637, 3385, 1642, 5055, 3270, 1049, 6493, 292, 1646, 5436, 5539, 6498, 6499, 154, 4592, 4593, 4594, 4595, 6557, 1669, 3701, 3270, 1649, 5152, 1518, 1057, 1622, 3415, 158, 1320, 1041, 5184, 6259, 3654, 1637, 1642, 5354, 2408, 5792, 3657, 6777, 6370, 5149, 1649, 6734, 6735, 6719, 3315, 6198, 2992, 2993, 2994, 2995, 4590, 4591, 4592, 4593, 4594, 4595, 3819, 4730, 3164, 1649, 3940, 6545, 335, 3213, 1245, 75, 3596, 3597, 1910, 1570, 3315, 39, 3336, 3316, 3675, 2321, 1255, -1914, 6556, 5034, 4801, 74, 1700, 3214, 3766, 4719, 1669, 3971, 3315, 1919, 1252, 2990, 2991, 2992, 2993, 2994, 2995, 39, 3317, 3316, 6123, 6563, 2006, 3313, 1253, 2093, 1125, 1125, 4877, 6537, 6831, 3253, 1254, 6640, 5449, 1512, 1125, 3316, 1899, 35, 1280, 3260, 790, 37, 3317, 4969, 4551, 3433, 1678, 3593, 1126, 1126, 1246, 918, 5649, 919, 3694, 3093, 6724, 3311, 1126, 2007, 3317, 1320, 6204, 3854, 4753, 2164, 39, 5338, 1848, -2513, -2536, 6710, 6754, 2279, 1701, 39, 1183, -1914, 6807, -2574, 1183, 6655, 6711, 3311, 1825, 1627, 6363, 6768, 1837, 1518, 1839, 6364, 2169, 5993, 2008, 1657, 3245, 5593, 2170, 2265, 3645, 3311, 4506, 1636, 6826, 1641, 4831, 1363, 2165, 5464, 6371, 6331, -1680, 2019, 2209, 1655, 2280, 5369, 2110, 1255, 3557, 3201, 3373, 4422, 338, 3376, 3377, 5104, 1986, 1922, 4991, 1138, 5105, 1635, 1247, 1640, 5422, 1672, 1674, 5097, 904, -3315, 6365, 1996, 1849, 2401, 6107, 1247, 3695, 2368, 1677, 1828, 1416, 5450, 3692, 6859, 1696, 2111, 3313, 3215, 6260, 3094, 1834, 2009, 1256, 6769, 1842, 1671, 1673, 1650, 735, 735, 6047, 6663, 1649, 1942, 3993, 4995, 2314, 1866, 3313, 1987, 2419, 3686, 3687, 2421, 3434, 905, 2425, 4089, 2427, 1941, 2315, 2430, -1680, 2094, 3313, 2434, 4878, 4231, 2368, 6394, 5011, 4071, 3855, 4232, 2171, 3731, 3733, 3856, 6402, 1050, 4423, 5969, 3740, 1660, 1966, 1967, 5154, 2208, 3754, 3755, 6725, 5088, 4998, 6405, 3772, 4061, 5098, 4365, 1257, 6573, 4365, 5370, 2095, 3791, 3475, 4879, 1278, 1650, 5957, 3806, 2368, 6419, 6641, 1320, 1138, 1911, 2316, 6404, 3314, 4061, 6420, 3857, 1696, 6391, 1183, 1183, -1767, -1914, 4577, 4578, 3676, 6445, 5988, 4597, 3998, 4802, 3391, 2096, 6736, 1051, 4880, 2542, 3009, 3216, 1248, 6390, 1658, 4147, 5820, 3313, 911, 5000, 3637, 6408, 2322, 1988, 4282, 1709, 1571, 2166, 4580, 4352, 4287, 1495, 4581, 4582, 4583, 2281, 1518, -2513, -2536, 4005, 3225, 4628, 4629, 6407, 4552, -1680, 1052, -2574, 1053, 4233, 5251, 1970, 1320, 4062, 1175, 2150, 3765, 3765, 904, 1138, 6642, 1138, 3970, 1138, 3970, 3266, 3787, 3673, 3211, 1138, 4365, 3678, 3595, 6776, 4507, 3808, 3685, 4062, 3388, 3688, 3623, 4902, 5994, 4128, 6783, 3200, 2317, 3212, 1136, 6643, 5684, 1257, 5155, 2387, 1496, 1138, 1138, 1650, 3460, 1138, 3612, 920, 3613, -2513, -2536, 905, 3446, 3588, -1680, -3315, 3498, 1651, 5770, -2574, 2172, 3625, 5774, 1651, 3627, 906, 1399, 5924, 6806, 3314, 6315, 3631, 5003, 6475, 3651, 5099, 3096, 2190, 6712, 2167, 1363, 1363, 2388, 3858, 6547, 4129, 4694, 2282, 1290, 4695, 4696, 3314, 3213, 3313, 3313, 6829, 2318, 6574, 3315, 2173, 4697, 4698, 4699, 3952, 4700, 4701, 3777, 3314, 6554, 4702, 4703, 4704, 3214, 807, -1767, 5004, 4424, 6360, 5024, 6362, 6842, -3315, 3097, 6366, 6367, 1497, 1442, 3316, 292, 1247, 4425, 5005, 3677, 922, 2174, 5812, 3683, 3684, 1993, 1954, 1994, 3313, 4818, -1914, 3875, 3614, 5100, 3226, 2314, 1136, 2306, -1914, 3317, 2333, -1914, 1981, -1914, 4576, 1189, 3626, 6613, 3999, 2315, 4000, 5936, 3922, -1680, 4234, 1400, 4407, 733, 733, 3632, 6214, 5156, 1939, 4364, 989, 4065, 4241, 75, 75, 4585, 75, 3098, 3519, 3892, 5639, 6215, 4072, 3553, 4130, 3314, 3311, 2319, 1240, 74, 74, 1685, 74, 2507, 1622, 4065, 6247, 69, 1971, 4235, 6587, -2343, 923, -1680, 4148, 5444, -1680, 4242, 1955, 3554, 4819, 3650, 4731, 3710, 5604, 5932, 1363, 5328, 1401, 1136, 4910, 1136, 1138, 1136, 5006, 1612, 4508, 3099, 3315, 1136, 1647, 1648, 3227, -704, 4236, 2471, 3158, 6652, 3179, 1262, 5605, 2097, 3179, 2344, 6213, 3574, 2525, 3729, 3923, 2191, 3315, 4586, 5162, 932, 4705, 1136, 1136, 3316, 2389, 1136, 3520, 2209, 3668, 3215, 1518, 3895, 3315, 35, 3575, 4365, 4365, 37, 924, 5148, 1498, 925, 1402, 6486, 1956, 3316, 5553, 1686, 3317, 3876, 3666, 4828, 3953, 6677, 3100, 2420, 5025, 2422, 4993, 1138, 2426, 3316, 2428, 933, 6495, 2431, 2432, 2433, 2368, 4718, 3317, 4920, 4061, 913, 4509, 2113, 35, 1499, 2440, 2317, 37, 3314, 3314, 914, 1703, 5149, 3317, 3087, 3088, 3311, 3092, 3067, 5445, 2469, 3647, 2470, 1268, 2114, 1844, 5933, 6727, 1253, 1253, 4275, 1253, 35, 6218, 790, 790, 37, 2543, 3311, 5598, 4991, 6219, 1269, 1899, 3315, 1899, 2545, 4131, 146, 6588, 3219, 93, 1270, 5356, 3311, 1709, 3314, 2390, 4580, 5595, 6216, 3013, 4581, 4582, 4583, 1500, 5462, 1501, 6248, 97, 2318, 1502, 3216, 3316, 6677, 2115, 1193, 4014, 3220, 4732, 6693, 926, 1934, 5530, 5329, 150, -2368, 926, 5534, 4062, -186, 6578, 4829, 1518, 1986, 3031, 3044, 3046, 3317, 3555, 4706, 1518, 1518, 4028, 6775, 1962, 5557, 1647, 1648, 5163, 1407, 3669, 1320, 1005, 1408, 915, 3905, 1320, 1320, -1692, 1043, -186, 790, 4178, 4063, 3576, 5446, 157, 4957, 5393, 5606, 1005, -1692, 3096, 2356, 87, 1136, 5554, -1692, 3311, 159, 88, 89, 1687, 3670, 3029, 3030, 1987, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 1271, 3671, 4707, 2208, 1955, 3229, 4064, 160, 2116, 6622, 3032, 2319, 735, 3553, 5604, 3230, 99, 3315, 3315, 5438, 4179, 6412, 3097, 1007, 1194, 6264, 3954, 1688, 1963, 1689, -1692, 1964, 904, -616, 6677, 6762, 927, 3672, 6763, 3554, 5605, 1007, 1149, 6397, 3154, 3156, 3316, 3316, 4237, 2100, 1136, 6660, 6661, 923, 3352, 3944, -1692, 3356, 6220, 4365, 1877, 928, 6050, 4365, 2117, 3315, 911, 6054, 2118, 1272, 6056, 3317, 3317, 2101, 1956, 2082, 3140, 1183, 904, 905, 1320, 4180, 3221, 3387, 6694, 5357, 4584, 4238, 4016, 6695, 1938, 3220, 5358, 4915, 3316, 2062, 1988, 1940, 1943, 5359, 4991, 5551, 5198, 5199, 916, -1692, 904, 1883, 5832, 4585, 39, 4065, 3311, 3311, -1692, 4708, 3932, 2120, 1183, 3317, 1154, 4197, 4239, 924, 1996, 905, 2357, 2297, 5409, 1996, 116, 1399, 4260, 1320, 3099, 5360, 4087, -472, 2170, 6033, 2547, 4366, 3409, 1320, 1965, 5434, 1273, 2547, 5326, 2083, 4830, 4831, 3205, 905, 6432, 6246, 6010, 5361, 1989, 122, 3311, 4161, 2122, 5410, 3206, 1878, 3666, 906, 4916, 3666, 6738, 5153, 3069, 5552, 1183, 2546, 4017, 6265, 2547, 126, 5833, 4832, 3207, 5258, 3231, 4586, 2123, 4459, 1885, 5165, 926, 1183, 4240, 1990, 4181, 3100, 1018, 1991, 1019, 3179, 3388, 141, 6433, 1996, 4924, 3071, 2125, 1996, 6266, 3179, 3069, 4817, 3071, 6034, 1018, 6555, 1019, -3597, 5327, 5211, 5435, 5212, 6779, 3232, 1023, 3514, 1320, 3392, 4196, 1320, 1320, 129, 1992, 1400, 1103, 3400, 5951, 6551, 4162, 926, 1160, 986, 2261, 3071, 288, 1163, 2171, 5938, 69, 69, 2246, 69, 5411, 4364, 1104, 5186, -1692, 1138, -472, 1972, 6572, 5190, 1138, 1138, 3378, 1993, 4221, 1994, 3497, 5207, 5208, 5209, 5210, 3015, 6235, 5214, 5215, 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 1629, 5962, 6809, 5197, 1105, 1401, 3179, 6083, 987, 6085, 288, 4173, 5949, 1973, 5189, 4266, 135, 6389, 5193, 5194, 1822, -1691, 5177, 4370, 4371, 4372, 4373, 4630, 4375, 4282, 5298, 4024, 1995, 4182, -1691, 4964, 6637, 339, 986, 1407, -1691, 4183, 1870, 1408, 4184, 733, 911, 1239, 1974, -1692, 4276, 4277, 4278, 4403, 1164, 1320, 5264, 5265, 1684, 3208, 3349, 6281, -1692, 1402, 5299, 2025, 2358, 6423, -1692, 4365, 1848, 1517, 2062, -3597, 4106, 6301, 1165, 4108, -3597, 5776, 5213, 6656, 1488, 3529, 2129, 3303, 904, 3534, 2160, -1691, 1243, 2359, 3047, -1095, 1883, 5301, 1823, 1138, 5134, 4919, 1884, 4171, 6505, 4172, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 1245, 1983, -1691, 4246, -1692, 1192, 1489, 6440, 3304, -3597, 2130, 1861, 3379, -1739, 2161, 5928, 3380, 5930, 2162, -1739, 905, 4054, 3048, 1872, 4107, 4015, 4245, 4109, 6044, 4921, -1692, 4956, 6302, 1849, 906, 1298, 1299, 1138, 5377, 6368, 1984, 151, 1490, 5633, 3447, 1696, 292, 1138, 5105, 2163, 1125, -1691, 3758, 4051, 1300, 4055, 4056, 1301, 154, 3703, -1691, 5323, 1885, 6506, 3076, 1251, 6730, 6401, 1246, 288, 5377, 3715, 5370, 158, 1126, 1985, 1363, 4028, 4922, -1692, 1136, 1883, 5067, 3448, 138, 1136, 1136, 5370, -1692, 5911, 1491, 5912, 5913, 5914, -1739, 1382, 4212, 4048, 4213, 4436, 4366, 5940, 4217, 5303, 75, 292, 1448, 75, -1738, 1444, 1447, 1886, 1445, 1446, -1738, 3449, 146, 6571, 6740, 4440, 74, 6178, 2131, 74, 5378, 5793, 1383, 6620, 3450, 4365, 1138, 4243, 2546, 1138, 1138, 2547, 4365, 3342, 3979, 4784, 2135, 4365, 5920, -1739, 4365, 4716, 1219, 6133, 1302, 6579, 5941, 1407, 1247, 150, 3366, 1408, 5378, -3597, 3451, 2100, 4366, 4690, 1885, 3146, 1957, 3397, 4244, 3069, 4366, 3153, 3155, 4995, 3719, 4365, -3597, 6179, 5921, 4996, 6180, 2136, 5297, 1303, 6580, 2101, 6181, 3291, 4084, 3292, 4365, -1738, 4997, 6485, 3825, 5379, 3398, 157, 4198, 5380, 2546, 4396, 3071, 2547, -1691, 3752, 4201, 1136, -1507, 4204, 159, 932, 4752, 1886, 6182, 3652, 2137, 3653, 6311, 4355, 4998, 3655, 4999, 3656, 1304, 4083, 3658, 5379, 6624, 6625, 3659, 5380, -1692, 1233, 160, 3069, 6106, -1120, 5548, 2285, -1738, 1709, -3597, 6312, 4580, 146, 1138, 5370, 4581, 4582, 4583, 1242, 3293, 161, 1977, 933, -396, 911, 5298, 5297, 1136, -3597, 6830, 2286, 3359, 5549, 5252, 6130, 3071, 3362, 1136, 4650, 6183, 2990, 2991, 2992, 2993, 2994, 2995, 5000, 6138, 1488, 150, 3611, 141, 6184, -396, 2138, 4873, 1978, 5547, 6131, 5299, 1979, 1346, 2100, 1248, 904, 6185, 4860, 1407, 1347, 1348, 1349, 1408, 2100, 2542, 5300, 5001, 4177, 2395, 4861, 3378, 2401, 4579, 3358, 3916, -3597, 1489, 2101, 1258, 6130, -3597, 5301, 157, 1005, 4607, 4874, 1980, 2101, 2546, 5499, 38, 2547, 2396, 5298, 6130, 5263, 40, 6239, 3917, 1265, -1508, 3436, 905, 6131, -3388, 3442, 4365, -1093, 6717, 5302, 2139, 1136, 5037, 5500, 1136, 1136, 906, 8, 6131, 4631, 4875, 6240, 5297, 3069, -3597, 2401, 5516, 5299, 3303, 2100, -3597, 6764, 2103, 4488, 1290, 4692, 6051, 339, 161, 5002, 4925, -3597, 5300, 6849, 5003, 6852, -3597, 4263, 40, 5517, 1007, 2177, 2140, 2101, 2181, 6765, 3071, 3286, 5301, 2141, 1491, 1307, 2142, 4664, 3304, 6863, 3787, 3787, 3287, 1621, 339, 3787, 2345, 2346, 1709, -396, -396, 4580, 3286, 3076, 4365, 4581, 4582, 4583, 1296, 5676, 5302, 5004, 4767, 3294, -3597, 2347, 1407, 3606, -2347, 1309, 1408, 5421, 5298, 5745, 4756, 5683, 5303, 5005, 1009, 1310, 6771, 2345, 2346, 4807, 4585, 3787, 3787, 5341, 6785, 1709, 3379, 6786, 4580, 6424, 3380, 5053, 4581, 4582, 4583, 1136, 2349, 146, 1311, 35, 6140, 4772, 5299, 37, 1709, 4836, 2333, 4580, 3190, -2339, 5746, 4581, 4582, 4583, 1407, 3076, 1660, 5300, 1408, 4991, 1312, 4714, 5853, 6186, 3910, 1313, 6187, 1262, 6709, 5858, 4489, 5705, 6466, 5301, 150, 35, 339, 5708, 5709, 37, 2409, -3597, -3597, 1314, 2410, 3606, -3597, 40, 1321, 5303, 5412, 4765, 5418, 87, 1870, 1329, 4586, -1680, 4810, 88, 89, 5302, 6052, 6044, 1331, 3020, 92, 93, 4522, 3021, 4524, 4525, 94, 5006, 5401, -2340, 157, 3580, 6319, 6144, 1407, 95, 1660, 96, 1408, 97, 6324, 6325, 2209, 159, -3597, 99, 5353, 1018, 4365, 1019, 5600, 2333, 6618, 3190, 4651, 2143, 5370, 2409, 3594, 5392, -1120, 3642, -3597, 4723, 1344, 3179, 4519, 160, 3602, 4530, 3603, 1345, 1022, 3080, 4531, 2261, 3607, 1388, 4532, 6145, 3610, 5121, 5122, 5123, 5124, 5125, 161, 1462, 4868, 1463, 2144, 5656, 5164, 6227, 2145, 6334, 2340, 2341, -3597, 3076, 6338, 6339, 1398, 4606, 6146, 4608, 4609, 1397, 5303, 4585, 2990, 2991, 2992, 2993, 2994, 2995, 3812, 5437, 4365, 3815, 3132, 3133, 6147, 5123, 5124, 5125, 6148, 69, 1406, 2146, 69, 4478, 3839, 3840, 3841, 3842, 2147, 5121, 5122, 5123, 5124, 5125, 1517, 1450, 1465, 5126, 1466, 2333, 6149, 1981, 4585, 6810, 6150, 5040, 2210, 1457, 2211, 4365, 6561, 116, 5116, 5117, 1484, 2417, -3597, 2211, 2479, 6151, 2211, 4585, 1452, 1363, 4983, 2494, -615, 161, 2990, 2991, 2992, 2993, 2994, 2995, 3912, 1470, 3066, 4586, 2211, 1709, 122, 3079, 4580, 3080, -3597, 1493, 4581, 4582, 4583, 3458, 3459, 3084, 4776, 2211, 3583, 2333, 3584, 3190, 1504, 5814, 126, 3055, 6853, 3644, 1492, 3080, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 3742, 3743, 3903, 4586, 3835, 3665, 3836, 3666, 3667, 1494, 3666, 3773, 3774, 1507, 3956, 5619, 339, 4794, 3707, -3324, 3708, 4724, 4586, 4669, 3915, 4670, 2401, 288, -3325, 3965, 3837, 3080, 4081, 4153, 4082, 4154, 4365, 129, 4647, 1515, 4648, 6152, 3818, 1520, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 4018, 4316, 4021, 4317, 5064, 4441, 5065, 3080, 1517, 4480, 4529, 3666, 3080, 1280, 4538, 4893, 3080, 5612, -3597, 4407, 4899, 4544, 2208, 3080, 102, 103, 3939, 3939, 3941, 3942, 2990, 2991, 2992, 2993, 2994, 2995, 5804, 1524, 5012, 6153, 5370, 5962, 3838, 4545, 4559, 3080, 4275, 735, 4069, 4566, 4599, 3080, 3080, 4613, 135, 3080, 4618, 4671, 4619, 4672, -1762, -1762, 4853, 1942, 4854, 1578, 75, 75, 4858, 1569, 4859, 5372, 5373, 1579, 4884, 5376, 4885, 1585, 4953, 1941, 4885, 1596, 74, 74, 5075, 911, 5076, 288, 1239, 3839, 3840, 3841, 3842, 3132, 3966, 4366, 3843, 3844, 4366, 3179, 1603, 5079, 3845, 5080, 5112, 146, 5113, 5114, 1098, 3080, 1518, -1765, -1765, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4585, -1766, -1766, 904, 1320, 5232, 5243, 5233, 5244, 6561, 1624, 4773, 4774, 40, 5254, 5370, 3080, 2345, 2346, 4365, 150, 4135, 5336, 4168, 5337, 5342, 5352, 5343, 4000, 5541, 1659, 5542, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 5601, 1183, 3666, 5678, 4159, 2467, 1839, 6096, 6097, 905, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 986, 5713, 157, 3080, 906, 5716, 5752, 5717, 3080, 5816, 151, 4000, 5030, 6457, 6458, 159, 4586, 5822, 4366, 5823, 911, 5829, 1664, 3666, 911, 1668, 5830, 154, 3666, 1660, 4211, 6019, 5831, 76, 3666, 3895, 5964, 1682, 5965, 160, 1251, 6003, 158, 5113, 6025, 6027, 6026, 3080, 911, 6173, 4365, 6174, 6193, 5421, 3666, 6228, 4365, 6229, 161, 5013, 904, 5015, 6593, 6594, 904, 1839, 6268, 1675, 6269, 3846, 1683, 1183, 5370, 3611, 1693, 6278, 5158, 2401, 1709, 1694, 3847, 4580, 1695, 1696, 4159, 4581, 4582, 4583, 904, 1839, 6284, 5044, 5050, 6286, 6307, 5050, 6308, 4889, 1697, 1698, 6353, 2193, 6354, 1517, 6393, 1517, 3034, 905, 6421, 1704, 6308, 905, 736, 1706, 6448, 1320, 4619, 1843, 4905, 912, 6449, 906, 3080, 1320, 1846, 906, 1320, 1850, 6464, 5204, 6465, 6470, 6473, 2401, 5050, 905, 6504, 983, 3708, 1851, 6510, 6666, 3708, 1852, 1862, 1036, 5085, 911, 5848, 906, 4320, 1857, 6511, 912, 3708, 6514, 4257, 3080, 6515, 1867, 3080, 1709, 1870, 5231, 4580, 6516, 3895, 6517, -3597, -3597, -3597, 1868, 1184, 4365, 2113, 134, 1871, 1881, 1184, 1184, 4724, 1896, 6543, 733, 6544, 912, 6599, 904, 6600, 6603, 1517, 2401, 6604, 4289, 3080, 4289, 2114, 4289, 4289, 1939, 1897, 1898, 4289, 4289, 4289, 1901, 4289, 4289, 4289, 5646, 5143, 1902, 3765, 911, 1904, 6619, 5272, 3666, 1908, 1909, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 1912, 3787, 3787, 3787, 3787, 905, 1913, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 1138, 2115, 906, 6634, 6658, 6635, 6659, 904, 6689, 6703, 5050, 3080, 1914, 6705, 4369, 3080, 5313, 5388, 5235, 6668, 134, 6737, 6761, 6308, 6478, 146, 6781, 5023, 6782, 5026, 1916, 1944, 4366, 4366, 6804, 6834, 3080, 6835, 6836, 4397, 6600, 1945, 3146, -3597, 6841, 6850, 5337, 3080, 6862, 5775, 6835, 5778, 926, 3122, 905, 3125, 3787, 3787, 1946, 1961, 1968, 1975, 150, 2017, 2546, 6254, 1981, 2547, 906, 2043, -3594, 2548, 2549, 2550, 2046, 2048, 2049, 2080, 2085, 2086, 2084, 2097, 2109, 2099, 4454, 4637, 2112, 4638, 2134, 3068, 6256, 2116, 2151, 2152, 1280, 2168, 4500, 2178, 35, 3069, 2546, 2179, 37, 2547, 157, 6808, 3070, 2182, 2187, 1240, 2188, 4639, 2189, 2219, 2221, 5522, 146, 159, 2223, 4586, 5413, 3938, 3938, 2228, 5171, 4338, 2234, 2242, 2239, 2244, 2113, 2249, 3071, 2252, 2254, 3069, 2246, 2263, 2268, 2269, 2271, 160, -3597, -150, 2272, 2274, 2276, 2117, 2277, 2288, 2295, 2118, 2114, 150, 2297, 2300, 1240, 2304, 951, 911, 161, -1432, 2310, 2320, -1432, 2325, 3387, 2326, 3071, 2327, 2329, 1138, 2333, 1320, 1934, 2336, 3838, 69, 69, 1138, 2337, 2339, 1138, 288, 2353, 2355, 2363, 2364, 2367, 4178, 2375, 2368, 2379, 2381, 1138, 157, 2382, 2384, 2386, 904, 2120, 2392, 4586, 2115, 2394, 2391, 2397, 5166, 159, 2404, 2415, 4614, 2400, 2403, 2441, 2476, 2483, 4621, 2492, 2485, -1918, 1136, 2493, 3839, 3840, 3841, 3842, 5527, 2488, 5984, 4640, -1925, 160, 2499, 5738, 2500, 4641, 5266, 2501, 2502, 2503, 161, 2505, 4179, 2506, 2122, 905, 3072, -1916, -1919, 2507, 6669, 3073, 2508, 2509, 4674, 4675, 4676, 2510, 2511, 906, 2512, 2513, 2514, 2495, 5535, 2515, 2517, 2518, 2123, 5415, 2519, 2520, 2521, 911, 3074, 2737, -1917, 1240, 2522, 911, 4363, 2523, -3597, 2504, 2524, 4366, 2525, -3597, 2125, 4366, 2527, 2528, 2116, 2529, 2530, 3075, 4339, 102, 103, 3002, 2531, 2532, 2533, 4180, 4093, 2534, 3006, 3004, 3050, 3009, 3038, 3060, 3008, 904, 3034, 1649, 3065, 3083, 3085, 904, 1884, 1886, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, -3597, 3116, 3128, 2539, 3118, 2795, 3131, 3138, 3139, 3141, 6463, 3150, 3149, 3152, 3157, 3166, 3160, 2117, 3163, 3076, -3541, 2118, 3077, 2020, 3161, 3167, -3536, 3165, 3168, 905, 3169, 1103, 3185, 3186, 3188, 905, 3387, 3187, 3191, 3190, 3192, 3194, 3193, 906, 3196, 3195, 3203, 3197, 3228, 906, 1518, 1104, 3222, 4642, 3234, 3076, 3248, 3254, 2021, 3256, 1136, 3252, 3255, 3258, 4643, 3259, 1320, 3272, 1136, 3787, 2120, 1136, 3276, 3277, -3597, -3597, -3597, 4590, 4591, 4592, 4593, 4594, 4595, 1136, 3278, 4181, 1105, 3289, 3290, 3305, 4729, 4729, 3301, 3307, 3308, 3310, 3311, 3319, 3309, 3321, 1251, 1251, 3320, 1251, 5945, 3322, 3323, 3324, 3333, 3343, 3357, 3329, 3078, 3339, 3330, 2122, 3340, 3353, 3354, 2022, 3360, 3363, 3367, 3364, 3369, 3374, 3370, 1036, 3381, 4340, 3382, 3384, 3399, 2546, 2062, 3389, 2547, 3401, 3403, 2123, 2548, 2549, 2550, 1138, 4724, 3410, 2209, 3408, -3597, 3427, 3411, 3428, 3457, 3435, 3472, 5461, 2023, 3390, 3068, 2125, 3395, 3396, 3464, 5612, 3402, 3469, 3471, 3404, 3069, 3416, 4724, 3895, 3417, 3429, 3440, 3070, 3473, 3474, 3485, 4341, 3478, 3479, 3486, 3480, 3482, 3483, 3490, 3484, 3491, 3492, 3493, 3500, 1518, 3501, 3504, 1000, 3517, 3528, 2131, 2024, 3532, 3071, 3509, 3536, 3533, 3545, 3548, 3551, 5724, 4182, 3552, 3572, 3561, 3565, 2986, 3586, 3578, 4183, 3598, 3616, 4184, 3600, 3569, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 6322, 3601, 3608, 3582, 2546, 3609, 3618, 2547, 4557, 2026, 3619, 3620, 3634, 3591, 3579, 3661, 3717, 4366, -3597, 3621, 3605, 911, 911, 911, 3592, 3679, 3690, 3606, 3662, 3704, 2990, 2991, 2992, 2993, 2994, 2995, 3706, 3741, 4856, 3069, 3736, 2028, 3807, 3813, 2547, 3826, -3597, 138, 3853, 3832, 3851, 5668, 5669, 5670, 5671, 5672, 3817, 3873, 4449, 4452, 3878, 904, 904, 904, 3879, 3898, 3890, 3901, 3904, 3906, 3907, 3908, 3071, 1246, 4363, 5729, 3899, 3933, 3934, 146, 3935, 3950, 3957, 141, 3072, 3268, 3958, 3972, 2030, 3073, 3024, 3989, 3990, 3921, 4010, 4903, 4024, 2031, 3936, 3992, 5802, 4022, 4033, 4026, 4038, 4027, 2032, 4019, 905, 905, 905, 4043, 3074, 2737, 3269, 4044, 150, 4046, 4049, 4057, 4073, 4078, 906, 906, 906, 1840, 2034, 5766, 4097, 4724, 4090, 1844, 1136, 3075, 4363, 2035, 1138, 4110, 912, 2036, 4080, 5267, 4363, 4115, 4136, 4143, 4116, 4149, 4142, 5573, 5574, 4169, 4152, 4170, 4160, 4167, 983, 3497, 157, 4144, 4190, 4207, 1106, 4191, 4946, 983, 736, 2265, 4249, 4270, 4262, 159, 1247, 983, 2795, 736, 983, 4274, 4290, 4271, 4283, 5673, 4296, 4302, 4318, 4307, 4329, -3597, 3076, 736, 4366, 3077, -3597, 4330, 2037, 160, 4344, 4366, 4297, 6755, 4298, 4346, 4366, 4348, 6758, 4366, 4350, 5074, 736, 5057, 4289, 4358, 4368, 4374, 1107, 4380, 4381, 4382, 4379, 4383, 911, 4384, 4977, 4977, 4387, 4392, 4390, 736, 4394, 4395, 4399, 5058, 4994, 736, 4366, 4398, -3597, 1518, 4404, 1518, 4419, 5070, 4420, 4431, 4421, 736, 4430, 4432, 1320, 4366, 4433, 4435, 4437, 1041, 4445, 4444, 5984, 4442, 5109, 5799, 904, 4446, 5918, 1964, 4470, 1513, 4471, 4447, 4448, 4468, 4456, 4457, 4474, 4476, 4482, 736, 4483, 4484, 4485, 5108, 983, 3078, 4486, 2401, 2398, 1568, 2365, 4492, 5048, 983, 736, 3076, 4487, 4497, 4501, 4502, 983, 4491, 736, 983, 4503, 4510, 1041, 4515, 4523, 1666, 4540, 905, 4541, 4542, 1669, 1568, 736, 4513, 4547, 4543, 4550, 4555, 4558, 76, 4560, 906, 4567, 5084, 1518, 4275, -2200, 4612, 736, 4568, 4572, 5270, 4632, 4658, 4574, 4575, 4598, 4576, 4615, 4603, 4735, 4604, 4720, 4611, 3080, 4626, 4646, 4726, 4665, 4733, 4690, 4627, 3146, 4659, 3388, 4715, 4737, 1136, 4739, 4661, 4663, 4746, 4721, 4770, 4775, 4454, 4754, 4786, 4777, 4760, 4778, 4789, 4758, 4791, 4803, 4815, 1363, 4814, 4816, 4804, 4759, 4728, 4728, 2986, -3597, 2409, 736, 4820, 4821, 4822, 4763, 4782, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 4823, 4764, 4783, 4838, 3816, 288, 4366, 4787, 5896, 5897, 5929, 5899, 4839, 4827, 4841, 983, 983, 4849, 1240, 4847, 4857, 4848, 1184, 4863, 736, 4872, 1184, 4886, 4888, 4890, 4892, 4894, 4896, 4901, 4900, 4904, 4906, 4907, 4908, 1240, 4909, 4928, 4911, 4926, 4927, 4933, 912, 4929, 4930, 5857, 4931, 736, 1320, 983, 6041, 4942, 5238, 4945, 4936, 2113, 4932, 4934, 4938, 736, 288, 4940, 4935, 4949, 4965, 4947, 3425, 4961, 4937, 4939, 4941, 5277, 5278, 5279, 5280, 4951, 4366, 2114, 4952, 4958, 4962, -3597, 4963, 4979, 4968, 4973, 5022, 4981, 5016, 5021, 5032, 5028, 3757, 2990, 2991, 2992, 2993, 2994, 2995, 6062, 5035, 736, 736, 5404, 5039, 5049, 5050, 5052, 5062, 5059, 3805, 5068, 5069, 5073, 3645, 911, 6347, 5846, 6349, 5072, 5077, 5089, 5103, 5106, 5136, 5137, 5138, 5128, 2115, 5414, 5139, 5111, 5118, 5159, 5120, 5249, 3225, 5140, 5130, 5141, 5142, 5144, 5160, 5161, 2002, 1138, 5167, 5168, 5169, 3787, 5170, 5172, 5173, 5174, 5175, 904, 5176, 2494, 5180, 5185, 3756, 292, 1448, 5187, 5191, 1444, 1447, 5188, 1445, 1446, 5195, 4580, 5196, 5205, -2199, 5256, 5245, 5257, 5259, 5287, 5228, 5260, 5229, 5315, 5333, 5335, 5330, 5339, 5363, 5355, 5311, 5384, 5385, 5386, 6483, 5415, 5387, 5230, 1184, 1184, 5395, 5288, 905, 5320, 5237, 5262, 5394, 5889, 5348, 6492, 5273, 5296, 5317, 5319, 5397, 5321, 906, 5324, 2116, 5398, 4366, 5400, 983, 983, 912, 5404, 5407, 5408, 5427, 5424, 5439, 736, 5440, 5443, 5441, 5467, 983, 5442, 5453, 5456, 5469, 1568, 983, 5455, 5454, 5457, 983, 5458, 983, 5487, 5470, 5476, 1568, 5488, 5493, 6527, 6529, 5496, 5513, 5512, 5515, 5414, 5528, 5529, 5518, 5531, 5532, 5533, 1568, 5544, 5555, 5570, 6357, 5584, 2117, 2414, 5565, 5576, 2118, 5590, 5591, 5603, 5597, 5596, 5614, 5640, 5620, 5637, 5638, 5621, 4366, 5642, 6190, 3387, 4135, 5650, 5432, 5416, 5641, 3833, 5644, 5666, 5674, 5680, 5947, 3691, 5645, 5655, 5652, 5681, 5697, 983, 5690, 983, 983, 5698, 5701, 5478, 5700, 5702, 4159, 5706, 5707, 5703, 5715, 5727, 5730, 2120, 5486, 4366, 5736, -2201, 5710, 5721, 5731, 5732, 5751, 5755, 5742, 5743, 5771, 5764, 5779, 5772, 5787, 5767, 5769, 5784, 5786, 5785, 1138, 5798, 911, 5780, 6091, 5811, 5801, 911, 5815, 911, 5657, 1568, 5800, 1262, 6258, 5824, 1136, 5817, 5819, 4994, 5825, 5834, 2122, 5854, 5855, 5856, 5865, 5859, 6263, 5866, 5887, 5864, 5885, 911, 5900, 1320, 5878, 5891, 5901, 5027, 5881, 5910, 904, 5892, 5908, 5466, 2123, 904, 5909, 904, 5915, 736, 5919, 5922, 5927, 5926, 6113, 5934, 5943, 5937, 5479, 1320, 5946, 5480, 5942, 5481, 2125, 6636, 5417, 5952, 5944, 4823, 5950, 904, 5958, 5956, 5961, 5968, 5972, 76, 76, 4366, 76, 5973, 5977, 5966, 5979, 5990, 5980, 905, 983, 5975, 5996, 5998, 905, 6008, 905, 6009, 6020, 6031, 6040, 6030, 6064, 906, 3787, 5981, 4363, 3666, 906, 4363, 906, 5521, 6004, 6014, 6015, 6342, 6343, 6024, 6114, 6045, 905, 1363, 6055, 6075, 6069, 6078, 6016, 4289, 6084, 3787, 6087, 736, 4289, 2546, 906, 6521, 2547, 6032, 6048, 6059, 6095, 6071, 5115, 6098, 6103, 6099, 1568, 6104, 736, 4452, 6112, 6105, 6706, 6707, 6110, 6136, 6158, 5554, 6164, 5623, 6116, 4724, 1966, 1967, 6166, 736, 6117, 6121, 3069, 6127, 736, 6128, 6129, 1363, 6169, -3597, 6176, 6172, 6197, 6196, 3311, 983, 6201, 6177, 6225, 6209, 6206, 6533, 6230, 6238, 6236, 6237, 6251, 6261, 6244, 6157, 6262, 6270, 6276, 6303, 6305, 3071, 6079, 6328, 6280, 6327, 6277, 6335, 6341, 6372, 6329, 4363, 6377, 6283, 6387, 983, 6318, 6277, 6320, 6374, 6381, 1136, 6385, 6395, 6400, 6410, 6414, 6416, 5108, 6415, 6417, 5627, 6418, 6428, 6429, 6108, 4994, 4500, 6427, 4366, 6430, 6435, 6437, 6439, 983, 983, 983, 6444, 983, 6459, 6462, 6474, 1320, 6480, 6450, 6481, 6476, 6482, 6487, 6488, 3001, 6478, 6479, 6490, 6503, 6491, 6526, 6535, 983, 6507, 5749, 6472, 6532, 6538, 6540, 6542, 6546, 6549, 2541, 6550, 4454, 4454, 4454, 4454, 4454, 6569, 6566, 6567, 6568, 6576, 6577, 6582, 6583, 6591, 6351, 6596, 6586, 6606, 6616, 6611, 911, 6612, 6629, 6631, 4666, 6638, 736, 3833, 6536, 3045, 6647, 6537, 6648, 6667, 736, 736, -3597, 6684, 6621, 1320, 6646, -3597, 6665, 6692, 6699, 6701, 5686, 5686, 5686, 5686, 4366, 5686, 5686, 5686, 5686, 5686, 4366, 1138, 6715, 6721, 904, 6723, 6741, 6747, 6346, 6748, 6753, 983, 6756, 6752, 6760, 983, 983, 6766, 6767, 6788, 3787, 288, 1517, 6790, 6789, 6787, 6798, 1138, 6811, -3597, 6813, 983, 6814, 6824, 4752, 6825, 6832, 912, 6833, 6844, 6827, 1138, 6839, 6845, 6801, 6854, 736, 6857, 1260, 6232, 3441, 905, 1138, 6848, 2149, 3057, 4141, 6861, 4717, 4833, 4222, 5430, 2050, 2047, 5423, 906, 6632, 4261, 2051, 4309, 4978, 6155, 6520, 6722, 5818, 6208, 5572, 5419, 6521, 5925, 5420, 6189, 4780, 912, 3076, 4481, 6623, 6497, 6089, 6359, 5803, 5805, 6718, 6541, 6539, 6645, 6733, 4785, 5954, 5594, 5624, 5602, 6471, 6501, 4327, 1568, 4328, 2148, 5564, 5428, 4851, 912, 5589, 2053, 5038, 2133, 5948, 4366, 5347, 6195, 5078, 5648, 1184, 6431, 6784, 2002, 6605, 6860, 6607, 2002, 6846, 6170, 6650, 4984, 5630, 4363, 4363, 6115, 5852, 3508, 5789, 6337, 6509, 5796, 5797, 6118, 1095, 1440, 5860, 1158, 5145, 2464, 5675, 5677, 6314, 6780, 4356, 4771, 3571, 5795, 3995, 5634, 3567, 1184, 6494, 3587, 5095, 6233, 3622, 2054, 6425, 75, 1597, 1568, 4948, 4259, 2055, -3597, 1519, 2056, 2414, 5459, 4895, 6812, 6671, 1854, 5653, 74, 4286, 5654, 3202, 3466, 3920, 6828, 5806, 5344, 6313, 6617, 4477, 5704, 3019, 4722, 3949, 4734, 5318, 3930, 2057, 6704, 6608, 3113, 1568, 3112, 2416, 3787, 5790, 3948, 5291, 5762, 1138, 1184, 5777, 6282, 1136, 5285, 3081, 6461, 6460, 5345, 5286, 6821, 6691, 6757, 6257, 6597, 5239, 1517, 1184, 3874, 6066, 6609, 4662, 6610, 2058, 1568, 3877, 4656, 3793, 4535, 1136, 4285, 87, 3117, 1320, 6837, -3344, 4654, 88, 89, 4645, 4565, 5192, 3889, 1136, 92, 93, 5107, 1283, 2312, 4429, 94, 3581, 3973, 6584, 1136, 1150, 1263, 1953, 3967, 95, -3597, 96, 1363, 97, 98, 2473, 1138, 334, 1620, 99, 1924, 3137, 2990, 2991, 2992, 2993, 2994, 2995, 3980, 3130, 3977, 4712, 3978, 1925, 5350, 3023, 5791, 5322, 5351, 736, 1276, 3984, 4479, 3663, 2155, 78, 6073, 0, 2060, 0, 0, 2406, 1654, 0, 0, 983, 983, 983, 2061, 0, 0, 0, 0, 0, 0, 0, 0, 2062, 0, 0, 5903, 5904, 736, 0, 0, 6690, 0, 0, 0, 2063, 1647, 1648, 0, 4289, 1568, 4289, 4289, 4289, 0, 0, 0, 0, 0, 0, 0, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 6772, 0, 0, 912, 911, 2002, 0, 1568, 0, 0, 0, 0, 0, 0, 2183, 0, 4363, 2065, 2066, 0, 4363, 0, 0, 6346, 0, 0, 736, 0, 0, 116, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 736, 0, 904, 0, 0, 5955, 0, 2184, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 1568, 0, 0, 0, 0, 1136, 0, 3787, 0, 6628, 0, 6847, 3787, 0, 0, 0, 983, 126, 0, 983, 0, 0, 1568, 0, 0, 0, 5983, 0, 0, 983, 905, 0, 0, 0, 0, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 906, 6840, 0, 1568, 0, 4452, 4452, 4452, 4452, 4452, 6773, 6774, 0, 2068, 0, 0, 983, 983, 0, 736, 736, 0, 0, 0, 0, 129, 0, 0, 1136, 0, 0, 983, 0, 736, 983, 5686, 1517, 6678, 6679, 0, 0, 0, 0, 1568, 1568, 0, 736, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 87, 76, 0, 0, -3345, 0, 88, 89, 0, 0, 1138, 0, 0, 92, 93, 0, 1138, 0, 0, 94, 1138, 0, 0, 0, 0, 0, 0, 0, 95, 0, 96, 0, 97, 98, 0, 135, 1277, 0, 99, 0, 0, 0, 983, 0, 0, 0, 983, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 983, 983, 0, 0, 0, 0, 983, 983, 6068, 0, 0, 0, 3753, 983, 983, 983, 983, 983, 983, 983, 0, 0, 983, 0, 983, 3069, 983, 983, 983, 983, 983, 983, 3070, 0, 983, 0, 983, 983, 0, 0, 983, 6143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1568, 983, 983, 983, 3071, 3146, 2539, 4363, 0, 0, 4994, 0, 0, 116, 0, 6202, 0, 0, 0, 983, 6223, 912, 0, 0, 6194, 0, 1320, 0, 0, 0, 0, 0, 0, 69, 151, 0, 0, 6203, 0, 0, 0, 0, 122, 6072, 0, 0, 0, 0, 0, 0, 911, 154, 0, 2539, 0, 6221, 4289, 0, 0, 1041, 0, 0, 126, 0, 0, 6156, 158, 174, 292, 287, 277, 0, 281, 285, 183, 282, 284, 3833, 0, 186, 187, 188, 0, 208, 226, 0, 231, 261, 280, 286, 904, 295, 1136, 4660, 0, 0, 0, 0, 1136, 0, 0, 0, 1136, 0, 0, 0, 6855, 6856, 0, 0, 0, 4681, 0, 0, 129, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 0, 5875, 5876, 0, 0, 0, 5879, 5880, 0, 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 2050, 906, 0, 0, 0, 0, 2051, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 3075, 0, 0, 4681, 0, 0, 0, 1239, 0, 0, 1058, 4681, 4363, 0, 0, 1420, 135, 0, 0, 4363, 0, 0, 0, 0, 4363, 0, 0, 4363, 0, 0, 0, 0, 0, 2053, 0, 0, 0, 0, 0, 0, 0, 2795, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 3076, 4363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1061, 1422, 0, 0, 0, 4363, 0, 0, 0, 0, 0, 0, 1423, 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0, 2054, 0, 0, 0, 0, 0, 983, 2055, 0, 0, 2056, 1424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6403, 0, 0, 1240, 0, 0, 0, 0, 0, 0, 1518, 0, 0, 1425, 6361, 2057, 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0, 1320, 0, 0, 0, 911, 0, 0, 1066, 0, 0, 0, 3078, 0, 0, 0, 0, 0, 151, 0, 0, 1067, 0, 0, 1138, 0, 2058, 1426, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 904, 0, 0, 0, 0, 158, 0, 0, 0, 1427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6484, 0, 0, 0, 0, 0, 1428, 0, 0, 0, 0, 0, 0, 905, 4363, 0, 0, 0, 2155, 0, 0, 0, 2060, 0, 0, 0, 0, 906, 1071, 0, 0, 0, 2061, 0, 0, 2986, 0, 0, 0, 0, 0, 2062, 0, 6143, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2063, 0, 0, 0, 983, 983, 983, 983, 983, 983, 983, 983, 983, 0, 983, 0, 1429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 983, 0, 0, 0, 0, 0, 4363, 0, 0, 0, 3249, 1074, 6067, 2065, 2066, 0, 0, 0, 0, 0, 0, 951, 1430, 0, 911, 1076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1518, 0, 0, 0, 6524, 0, 6525, 0, 3250, 0, 6530, 6531, 0, 0, 0, 1431, 0, 0, 1432, 983, 0, 0, 1079, 983, 0, 1080, 983, 904, 983, 0, 0, 983, 1081, 0, 0, 1082, 6598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 1136, 0, 0, 0, 0, 0, 0, 1083, 983, 983, 0, 0, 0, 0, 1433, 0, 0, 0, 0, 0, 0, 1085, 0, 0, 1434, 0, 0, 905, 1087, 0, 2068, 0, 0, 0, 0, 0, 1435, 0, 1089, 0, 0, 906, 0, 1436, 0, 736, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, 288, 1138, 0, 0, 0, 0, 0, 76, 76, 4363, 288, 0, 1092, 0, 736, 0, 0, 0, 0, 0, 0, 1568, 6651, 0, 0, 1568, 1568, 0, 0, 0, 0, 0, 736, 0, 0, 904, 0, 912, 736, 2050, 0, 0, 736, 0, 0, 2051, 292, 6676, 288, 0, 6673, 736, 0, 6674, 6675, 6746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 983, 0, 0, 0, 0, 0, 0, 4363, 0, 0, 905, 983, 0, 1568, 983, 0, 983, 983, 2053, 1568, 0, 0, 0, 0, 906, 80, 0, 0, 0, 0, 81, 736, 0, 0, 82, 0, 83, 6442, 84, 85, 0, 0, 0, 0, 1184, 0, 4363, 0, 0, 86, 0, 736, 736, 0, 0, 0, 0, 0, 0, 0, 1568, 0, 0, 0, 0, 90, 91, 0, 292, 6676, 0, 0, 6673, 0, 2054, 6674, 6675, 0, 0, 0, 0, 2055, 912, 736, 2056, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1518, 0, 0, 0, 0, 736, 0, 912, 2057, 100, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 102, 103, 0, 736, 0, 0, 0, 0, 1184, 0, 736, 4186, 0, 736, 0, 0, 0, 0, 1259, 736, 0, 0, 2058, 4363, 0, 1136, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 107, 0, 108, 109, 0, 736, 0, 0, 0, 110, 0, 111, 736, 0, 0, 0, 0, 0, 6818, 0, 292, 6676, 0, 112, 6673, 113, 736, 6674, 6675, 0, 0, 0, 0, 0, 0, 0, 0, 2539, 0, 736, 114, 0, 115, 0, 912, 117, 0, 0, 0, 0, 736, 4186, 0, 2155, 0, 5284, 0, 2060, 5289, 0, 118, 0, 119, 0, 6818, 0, 120, 2061, 983, 983, 983, 0, 121, 0, 983, 0, 2062, 0, 0, 0, 123, 911, 124, 6818, 0, 0, 0, 0, 2063, 125, 0, 0, 6820, 6441, 0, 0, 0, 3013, 0, 288, 0, 983, 1568, 0, 0, 0, 0, 127, 6819, 0, 912, 0, 0, 0, 0, 0, 0, 4186, 0, 0, 0, 904, 0, 0, 128, 0, 4186, 911, 0, 0, 2065, 2066, 0, 0, 0, 0, 0, 0, 6820, 0, 0, 4363, 0, 983, 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, 6819, 0, 4186, 6820, 0, 0, 5789, 0, 2067, 0, 0, 0, 0, 904, 905, 0, 0, 130, 131, 6819, 0, 4402, 0, 132, 0, 1568, 0, 0, 906, 0, 0, 0, 904, 0, 6518, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 906, 0, 0, 2068, 4363, 905, 0, 0, 0, 0, 4363, 0, 0, 0, 0, 2546, 0, 0, 2547, 906, 0, 0, 2548, 2549, 2550, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 3068, 0, 0, 0, 0, 138, 139, 0, 140, 0, 3069, 0, 0, 141, 0, 0, 0, 3070, 2546, 142, 0, 2547, 143, 0, 0, 2548, 2549, 2550, 0, 144, 0, 0, 736, 0, 912, 0, 145, 146, 0, 0, 0, 0, 0, 3071, 147, 0, 0, 0, 148, 0, 1568, 0, 736, 3069, 0, 0, 0, 0, 149, 736, 3070, 0, 0, 983, 0, 1568, 983, 0, 983, 983, 1568, 0, 0, 0, 150, 0, 0, 0, 983, 0, 0, 0, 0, 983, 0, 0, 3071, 4363, 0, 0, 0, 0, 0, 0, 152, 0, 153, 0, 1568, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 157, 0, 0, 0, 0, 726, 0, 0, 0, 983, 983, 983, 0, 159, 983, 0, 0, 0, 0, 0, 0, 0, 983, 983, 983, 983, 0, 0, 0, 0, 0, 0, 0, 912, 0, 0, 4681, 160, 983, 912, 0, 983, 3072, 983, 0, 0, 0, 3073, 0, 0, 0, 0, 0, 0, 983, 983, 161, 0, 983, 0, -149, 0, 288, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 983, 0, 983, 0, 983, 0, 3072, 0, 0, 0, 0, 3073, 3075, 0, 0, 1325, 1327, 0, 0, 1330, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3597, -3597, 0, 983, 2050, 1380, 0, 0, 0, 0, 2051, 0, 1390, 0, 0, 0, 0, 736, 288, 2795, 0, 3075, 0, 0, 0, 2153, 0, 0, 0, 0, 0, 0, 0, 3076, 983, 0, 3077, 0, 0, 0, 0, 1451, 0, 1454, 0, 0, 1456, 0, 0, 983, 2050, 0, 0, 0, 0, 2053, 2051, 0, 0, 0, 1481, 0, -3597, 983, 0, 2546, 1485, 0, 2547, 0, 0, 983, 2548, 2549, 2550, 0, 3076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 2053, 0, 1568, 0, 0, 1568, 3070, 1568, 2154, 0, 2054, 0, 1568, 0, 0, 0, 0, 2055, 0, 0, 2056, 0, 0, 0, 0, 3078, 0, 0, 736, 736, 0, 0, 3071, 6817, 983, 0, 0, 0, 0, 0, 0, 4409, 0, 0, 0, 0, 0, 2057, 0, 0, 0, 0, 0, 0, 0, 736, 2054, 0, 736, 0, 0, 1568, 0, 2055, 0, 2020, 2056, 0, 3078, 1568, 0, 0, 0, 0, 0, 0, 4681, 0, 0, 6817, 4681, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2057, 1568, 0, 0, 0, 6817, 0, 2021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 2058, 912, 912, 912, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 3072, 0, 4569, 0, 4570, 3073, 0, 2155, 736, 0, 0, 2060, 0, 0, 2022, 0, 0, 1568, 0, 1568, 0, 2061, 0, 2986, 730, 0, 0, 736, 3074, 2737, 2062, 902, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 2063, 0, 0, 0, 0, 0, 736, 3075, 0, 2023, 0, 2059, 0, 0, 0, 2060, 0, 0, 0, 0, 0, 0, 0, 902, 0, 2061, 0, 0, 0, 0, 0, 0, 0, 0, 2062, 0, 0, 0, 0, 2156, 0, 0, 2065, 2066, 0, 0, 2063, 4410, 2795, 0, 0, 0, 2024, 0, 0, 902, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 1568, 0, 0, 2157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3325, 0, 0, 2065, 2066, 0, 0, 2546, 736, 2026, 2547, 0, 0, 983, 2548, 2549, 2550, 0, 0, 983, 2078, 2079, 0, 0, 0, 0, 0, 0, 1568, 0, 0, 0, 3068, 0, 0, 3326, 0, 2546, 0, 0, 2547, 2028, 3069, 0, 2548, 2549, 2550, 0, 0, 3070, 0, 0, 0, 0, 0, 912, 1568, 0, 2068, 0, 0, 736, 3068, 736, 0, 0, 0, 0, 0, 0, 3078, 0, 3069, 0, 0, 3071, 736, 0, 736, 3070, 0, 0, 0, 141, 0, 0, 5031, 0, 4411, 0, 0, 0, 2224, 0, 0, 0, 0, 2031, 983, 0, 0, 0, 0, 0, 2068, 3071, 2032, 2236, 0, 0, 0, 0, 0, 0, 3269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034, 1568, 0, 0, 0, 0, 0, 0, 0, 2035, 0, 2258, 2259, 2036, 0, 0, 0, 0, 0, 0, 0, 0, 736, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4412, 0, 0, 0, 2296, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 1568, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 3072, 0, 0, 0, 2037, 3073, 4571, 0, 4413, 0, 0, 0, 0, 0, 0, 0, 0, 1551, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 0, 0, 736, 0, 1551, 0, 736, 0, 0, 0, 3075, 0, 0, 0, 4409, 0, 0, 0, 0, 3074, 2737, 2372, 2374, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2020, 0, 3075, 0, 0, 983, 0, 0, 1568, 0, 4681, 0, 0, 2795, 983, 4681, 0, 0, 4681, 0, 0, 0, 0, 0, 983, 0, 0, 3076, 983, 983, 3077, 0, 0, 0, 983, 2021, 0, 0, 0, 0, 0, 0, 983, 2795, 983, 0, 0, 983, 0, 0, 0, 1568, 983, 983, 983, 983, 0, 3076, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 0, 0, 0, 983, 983, 983, 0, 0, 1568, 0, 0, 0, 0, 983, 0, 0, 0, 0, 983, 0, 912, 0, 983, 0, 0, 0, 0, 0, 2022, 2546, 983, 0, 2547, 983, 0, 983, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 1340, 0, 0, 0, 0, 0, 3078, 983, 3068, 1372, 983, 983, 0, 0, 0, 983, 983, 0, 3069, 2023, 983, 0, 983, 1394, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 3078, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 4410, 0, 0, 0, 726, 2024, 0, 0, 0, 0, 726, 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2026, 0, 0, 0, 2986, 0, 0, 983, 0, 0, 0, 0, 288, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 1568, 0, 0, 0, 0, 4622, 0, 0, 0, 2028, 0, 2986, 983, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 0, 0, 0, 141, 0, 4681, 0, 0, 2030, 0, 0, 0, 2226, 0, 0, 0, 0, 2031, 0, 3074, 2737, 0, 0, 2235, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 0, 3269, 0, 912, 0, 0, 2243, 3075, 912, 1568, 912, 0, 0, 2034, 0, 0, 0, 0, 0, 0, 0, 0, 2035, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 912, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4412, 0, 2795, 0, 0, 0, 0, 0, 2352, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2366, 0, 0, 736, 2037, 0, 736, 0, 4413, 0, 2377, 0, 0, 0, 2380, 0, 0, 0, 2383, 0, 2385, 0, 0, 0, 0, 0, 2393, 0, 0, 0, 0, 0, 2399, 0, 0, 2402, 0, 0, 0, 4681, 3267, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 726, 0, 0, 0, 0, 0, 0, 0, 0, 3306, 0, 902, 0, 0, 983, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, 1337, 730, 736, 736, 0, 2051, 1568, 0, 1337, 0, 730, 1337, 2113, 736, 0, 0, 0, 0, 0, 0, 983, 983, 0, 0, 730, 0, 0, 0, 0, 0, 736, 0, 0, 0, 2114, 0, 2539, 0, 0, 0, 0, 0, 0, 730, 3394, 0, 0, 0, 0, 0, 2053, 288, 0, 0, 5631, 1568, 0, 0, 1568, 983, 983, 0, 730, 2474, 0, 0, 0, 0, 730, 0, 983, 0, 0, 0, 3420, 3421, 3422, 3423, 0, 0, 730, 0, 0, 0, 0, 2115, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 2054, 0, 4980, 0, 730, 0, 0, 2055, 0, 0, 2056, 0, 0, 0, 0, 0, 0, 0, 1337, 730, 0, 736, 0, 2546, 912, 1337, 2547, 730, 1337, 0, -3597, -3597, -3597, 3476, 3477, 0, 0, 2057, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 3494, 983, 0, 0, 0, 0, 0, 0, 730, 3069, 0, 0, 0, 0, 983, 0, 3070, 0, 0, 0, 2116, 0, 0, 0, 2058, 0, 0, 0, 983, 0, 0, 0, 0, 0, 3537, 3538, 3539, 3540, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 983, 0, 0, 0, 0, 0, 0, 730, 983, 983, 0, 1568, 0, 0, 0, 983, 983, 2117, 0, 0, 983, 2118, 0, 0, 0, 0, 0, 983, 0, 0, 983, 983, 0, 0, 0, 0, 2119, 983, 0, 0, 2060, 0, 0, 0, 0, 0, 730, 0, 0, 0, 2061, 0, 983, 0, 0, 0, 0, 0, 0, 2062, 983, 0, 0, 0, 983, 0, 0, 0, 902, 0, 2120, 2063, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 3636, 0, 0, 983, 3072, 0, 3640, 0, 0, 3073, 0, 983, 0, 288, 0, 0, 2121, 0, 76, 2065, 2066, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 730, 0, 983, 0, 0, 0, 0, 0, 0, 0, 0, 2123, 0, 80, 0, 0, 0, 2124, 81, 3075, 1568, 0, 82, 0, 83, 0, 84, 85, 0, 0, 0, 2125, 0, 736, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6745, 3076, 0, 0, 736, 0, 0, 0, 0, 1568, 0, 0, 0, 2068, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 101, 983, 102, 103, 0, 0, 0, 0, 0, 0, 3332, 902, 736, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 106, 0, 0, 1337, 0, 1337, 0, 0, 0, 0, 0, 0, 107, 1568, 108, 109, 0, 0, 0, 0, 0, 110, 0, 111, 0, 0, 3078, 0, 0, 0, 0, 0, 0, 3830, 0, 112, 0, 113, 0, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 0, 114, 0, 115, 983, 0, 117, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 0, 120, 736, 0, 0, 0, 0, 6231, 0, 983, 0, 0, 0, 0, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 728, 726, 0, 0, 0, 0, 0, 900, 0, 0, 0, 127, 0, 0, 0, 3470, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 1568, 3481, 1568, 128, -3597, -3597, -3597, 2990, 2991, 2992, 2993, 2994, 2995, 1563, 0, 0, 900, 3499, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0, 1563, 0, 1178, 1178, 736, 0, 0, 0, 0, 900, 0, 130, 131, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 3573, 0, 0, 983, 0, 0, 983, 0, 0, 983, 983, 983, 0, 0, 0, 0, 3617, 134, 0, 0, 0, 0, 3589, 0, 3624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 1551, 983, 983, 0, 0, 983, 0, 0, 0, 0, 0, 0, 3604, 0, 0, 0, 730, 0, 0, 0, 983, 0, 0, 0, 0, 0, 136, 983, 0, 0, 0, 0, 983, 730, 0, 983, 983, 0, 730, 0, 137, 0, 0, 983, 0, 0, 138, 139, 0, 140, 0, 0, 3630, 1551, 141, 0, 0, 5092, 0, 0, 142, 0, 0, 143, 983, 0, 0, 983, 0, 0, 144, 0, 0, 736, 0, 736, 0, 145, 146, 983, 0, 0, 0, 0, 0, 147, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 1568, 736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 3439, 2546, 0, 152, 2547, 153, 0, 2050, 2548, 2549, 2550, 0, 0, 2051, 155, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 157, 3068, 0, 2153, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 159, 912, 0, 0, 730, 3070, 983, 0, 0, 0, 0, 0, 730, 730, 0, 0, 0, 0, 0, 0, 2053, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 3820, 0, 0, 0, 0, 161, 0, 0, 0, -149, 0, 0, 0, 0, 3827, 3518, 0, 0, 0, 0, 0, 0, 0, 3535, 0, 0, 0, 0, 0, 983, 0, 3439, 1568, 902, 0, 0, 2154, 0, 2054, 0, 0, 0, 730, 0, 0, 2055, 0, 0, 2056, 0, 0, 3830, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, -2647, 0, 0, 0, 983, -2868, 0, 1563, 983, 0, 983, 2057, 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, 1563, 983, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 983, 0, 0, 0, 983, 0, 0, 0, 902, 3072, 1568, 983, 2058, 0, 3073, 3615, -2647, 0, 0, 0, 0, -2868, 0, 0, 0, 0, 0, 0, 0, -2647, 0, 0, 0, 0, -2868, -2647, 0, 3074, 2737, 0, -2868, -2647, 3439, 0, 0, 0, -2868, -2647, 0, 0, -2647, 0, -2868, 0, -2647, -2868, 0, 0, 3075, -2868, 1568, 0, 0, 0, 0, 1568, 1568, 0, 0, 0, 983, 0, 0, 0, 0, 0, 983, 983, 736, 0, 0, 1563, 0, 2155, -2647, 0, 0, 2060, 0, -2868, 0, -2868, 736, 0, 0, 0, 0, 2061, 0, 2795, 0, 0, 0, 0, 0, 0, 2062, 0, 0, 0, -2647, 0, 983, 3076, 0, -2868, 3077, 0, 2063, 0, 983, 0, 0, 912, 0, 0, 4059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 0, 0, 4219, 0, -2647, 2065, 2066, -2647, 0, -2868, 0, 0, -2868, -2647, 0, 0, 0, 0, -2868, 0, 0, 0, 0, 1568, 1568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4220, 0, 0, 0, 0, 0, 0, 0, 6443, 0, 0, 0, 983, 730, 3078, 0, 0, 0, 0, 0, 0, 983, 983, 983, 1563, 0, 983, 0, 0, 983, 0, 0, 0, -2647, 0, 0, 0, 0, -2868, 0, 983, 0, 0, 0, 0, 0, 730, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 2068, 4199, 0, 0, 4202, 0, 0, 0, 0, 0, 0, 0, 902, 2020, 0, 0, 0, 983, 0, 0, 0, 1154, 3828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 912, 730, 736, 0, 0, 2986, 2021, -2647, 0, 730, 0, 0, -2868, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 5182, 0, 0, 0, -2647, 0, -2647, -2647, 0, -2868, 0, -2868, -2868, 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, 4293, 0, 0, 2051, 0, -2647, 983, 0, 0, 0, -2868, 0, 0, 4306, 0, 3909, 0, 2022, 2052, 0, 0, 4315, 0, 0, 0, -2647, 3043, 0, -2647, -2647, 0, -2647, 0, -2868, 0, -2868, -2868, 0, 1337, 1337, 0, 730, 730, 0, 0, 900, 0, 983, 2053, 0, 0, 0, 0, 1337, 2023, 730, 1337, 0, 0, 0, 4359, 983, 912, 0, 0, 1568, 0, 0, 730, 730, 983, 0, 983, 728, 983, 0, 0, 0, 0, 0, 0, 4386, 728, 0, 983, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 0, 728, 2024, 0, 0, 983, 0, 0, 0, 2054, 0, 0, 0, 0, 0, 0, 2055, 0, 736, 2056, 728, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 0, 0, 0, 1337, 1337, 0, 0, 0, 0, 728, 2025, 0, 0, 0, 2026, 728, 2057, 0, 0, 0, 0, 4460, 0, 4462, 0, 0, 0, 728, 0, 983, 729, 0, 0, 1563, 0, 0, 0, 901, 0, 983, 0, 0, 0, 0, 0, 2027, 2028, 983, 983, 0, 0, 0, 2058, 983, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 901, 728, 6698, 0, 0, 0, 983, 0, 0, 728, 0, 0, 0, 2029, 0, 0, 0, 141, 0, 1179, 0, 0, 2030, 728, 0, 1179, 1179, 0, 0, 0, 1563, 2031, 901, 0, 0, 736, 0, 0, 0, 728, 2032, 0, 0, 4050, 0, 0, 902, 0, 2033, 4058, 0, 0, 2059, 0, 4520, 0, 2060, 0, 0, 983, 2034, 4527, 0, 0, 0, 983, 2061, 1563, 0, 2035, 0, 0, 0, 2036, 0, 2062, 0, 0, 0, 0, 0, 0, 0, 983, 983, 0, 0, 2063, 0, 0, 4091, 0, 0, 983, 0, 0, 6698, 728, 983, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 2064, 0, 2037, 2065, 2066, 0, 0, 0, 1178, 0, 728, 0, 1178, 0, 0, 0, 0, 2050, 0, 0, 0, 0, 0, 2051, 0, 0, 0, 0, 0, 0, 0, 0, 900, 0, 983, 2067, 0, 728, 983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 2053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 728, 728, 0, 0, 1563, 0, 983, 983, 0, 0, 983, 0, 0, 2068, 983, 0, 2546, 0, 912, 2547, 1563, 0, 726, 2548, 2549, 2550, 0, 983, 983, 0, 0, 0, 0, 2054, 0, 0, 0, 912, 0, 0, 2055, 3068, 0, 2056, 0, 995, 0, 0, 3986, 0, 0, 3069, 2546, 0, 0, 2547, 0, 0, 3070, 2548, 2549, 2550, 0, 996, 0, 0, 4002, 0, 0, 0, 2057, 0, 4006, 0, 1563, 0, 4009, 3068, 0, 0, 4314, 0, 0, 0, 3071, 0, 0, 3069, 997, 0, 0, 0, 0, 0, 3070, 0, 1563, 1178, 1178, 0, 0, 998, 0, 4034, 0, 0, 2058, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, -880, 0, 0, 3071, 1563, 0, 900, 0, 4434, 0, 0, 0, 0, 728, 0, 0, 4443, 0, 999, 0, 4076, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 4458, 0, 0, 0, 0, 0, 0, 726, 0, 1001, 4464, 1563, 1563, 4465, 0, 4466, 4467, 4796, 4797, 4469, 1002, 0, 0, 4472, 0, 4473, 0, 2155, 4475, 1003, 0, 2060, 0, 0, 0, 0, 0, 0, 0, 4126, 0, 2061, 1004, 0, 0, 0, 0, 0, 0, 3072, 2062, 1005, 0, 0, 3073, 1006, 0, 0, 0, 0, 0, 0, 2063, 0, 4155, 0, 0, 0, 0, 0, 4164, 0, 0, 0, 0, -1093, 0, 3074, 2737, 0, 0, 0, 0, 0, 4174, 3072, 0, 0, 0, 0, 3073, 726, 0, 0, 4187, 0, 0, 0, 3075, 0, 4192, 4086, 0, 0, 2065, 2066, 4517, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 1007, 0, 4205, 0, 0, 0, 0, 0, 4208, 0, -616, 0, 0, 0, 0, 4214, 3075, 0, 2067, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 4511, 4229, 0, 0, 728, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 4254, 4521, 0, 0, 0, 0, 4526, 1563, 0, 1008, 0, 726, 1009, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 1010, 4546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2068, 0, 1011, 0, 0, 0, 0, 0, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 1012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 3078, 728, 0, 0, 0, -472, 730, 0, 1014, 0, 0, 4967, 0, 0, 0, 0, 0, 0, 728, 975, 0, 0, 0, 728, 0, 0, 0, 1015, 0, 0, 0, 0, 730, 0, 1016, 0, 3078, 0, 0, 0, 0, -472, 0, 0, 1017, 1018, 0, 1019, 1020, 0, 730, 0, 0, 0, 0, 902, 730, 0, 0, 0, 730, 0, 0, 1021, 0, 0, 0, 0, 0, 730, 1022, 2050, 0, 1023, 0, 0, 1024, 2051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 1337, 0, 1337, 1337, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 730, 2053, 0, 5248, 0, 0, 0, 0, 2050, 0, 0, 0, 0, 0, 2051, 0, 0, 2986, 0, 0, 730, 730, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 728, 5365, 0, 0, 0, 0, 0, 0, 728, 728, 0, 0, 0, 902, 730, 4790, 4496, 902, 0, 2054, 0, 2053, 0, 901, 0, 0, 2055, 0, 0, 2056, 0, 0, 0, 0, 5135, 0, 4512, 0, 0, 730, 0, 902, 0, 4496, 0, 730, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 2057, 0, 0, 730, 729, 0, 0, 0, 0, 0, 730, 900, 0, 730, 0, 0, 0, 0, 729, 730, 728, 2054, 0, 0, 0, 0, 4795, 0, 2055, 0, 4840, 2056, 4842, 0, 4798, 0, 2058, 729, 0, 730, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 729, 900, 2057, 0, 0, 0, 729, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 730, 0, 0, 0, 0, 902, 900, 0, 0, 0, 0, 730, 0, 0, 0, 2058, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 2155, 0, 2546, 0, 2060, 2547, 0, 0, 0, 2548, 2549, 2550, 729, 2050, 2061, 0, 0, 0, 0, 2051, 729, 0, 4881, 2062, 4883, 0, 2113, 3068, 0, 0, 1178, 0, 0, 0, 729, 2063, 0, 3069, 0, 0, 0, 0, 0, 902, 3070, 0, 0, 0, 2114, 0, 729, 0, 0, 0, 0, 0, 0, 0, 2155, 0, 0, 0, 2060, 0, 2053, 0, 0, 4943, 0, 0, 3071, 0, 2061, 4950, 4264, 0, 0, 2065, 2066, 0, 0, 2062, 0, 0, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 2063, 0, 0, 0, 0, 0, 2115, 0, 0, 0, 1178, 0, 0, 0, 0, 729, 4265, 0, 0, 0, 0, 0, 0, 0, 0, 4944, 0, 2054, 0, 0, 0, 0, 0, 0, 2055, 0, 0, 2056, 0, 4808, 0, 0, 2065, 2066, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 729, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 2057, 0, 0, 4966, 0, 0, 0, 0, 0, 0, 4809, 0, 901, 0, 0, 0, 0, 729, 728, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 3072, 729, 0, 0, 2116, 3073, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4792, 0, 728, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 729, 729, 1563, 1563, 0, 730, 3075, 902, 2068, 0, 0, 0, 0, 0, 0, 900, 0, 2117, 0, 0, 0, 2118, 0, 0, 0, 730, 0, 0, 0, 0, 0, 4091, 730, 0, 0, 0, 2119, 0, 728, 1337, 2060, 1337, 1337, 0, 0, 0, 728, 2795, 0, 0, 2061, 5127, 0, 5129, 728, 5131, 0, 0, 0, 2062, 0, 3076, 1563, 0, 3077, 0, 0, 0, 1563, 0, 2120, 2063, 0, 0, 0, 0, 0, 5110, 4864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 4194, 0, 0, 2065, 2066, 2122, 0, 0, 0, 0, 0, 0, 902, 901, 0, 0, 0, 0, 902, 0, 729, 0, 0, 0, 0, 0, 728, 728, 0, 2123, 0, 0, 0, 2050, 0, 4195, 0, 0, 0, 2051, 728, 5543, 0, 2546, 3078, 0, 2547, 0, 0, 2125, 2548, 2549, 2550, 728, 728, 5545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 5181, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 2546, 2053, 3070, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 4959, 0, 0, 0, 0, 0, 0, 0, 0, 2068, 0, 0, 0, 3068, 730, 0, 3071, 5206, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5227, 0, 0, 2054, 0, 0, 0, 0, 0, 2986, 2055, 0, 0, 2056, 3071, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 5592, 0, 0, 0, 0, 0, 0, 0, 0, 2057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, 729, 0, 0, 0, 0, 0, 0, 1336, 0, 0, 0, 0, 0, 0, 0, 1336, 1563, 0, 1336, 0, 0, 0, 0, 2058, 0, 0, 0, 0, 0, 0, 0, 730, 730, 0, 0, 0, 3072, 900, 0, 0, 0, 3073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 730, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 729, 3073, 0, 0, 0, 3075, 0, 0, 0, 1563, 0, 0, 0, 1563, 2155, 0, 0, 729, 2060, 0, 0, 0, 0, 0, 3074, 2737, 3439, 0, 2061, 0, 0, 0, 0, 0, 729, 0, 0, 2062, 0, 729, 0, 0, 1324, 0, 0, 3075, 2795, 0, 5147, 2063, 0, 1336, 5151, 902, 902, 902, 0, 0, 1336, 0, 3076, 1336, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 4866, 0, 0, 2065, 2066, 0, 0, 0, 0, 730, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 4867, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 3078, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 1563, 0, 0, 0, 0, 1563, 3070, 0, 729, 0, 0, 2546, 0, 0, 2547, 0, 729, 729, 2548, 2549, 2550, 0, 0, 0, 0, 2068, 3078, 0, 0, 0, 0, 0, 3071, 1563, 0, 0, 3068, 0, 730, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 901, 0, 0, 0, 3071, 0, 0, 0, 0, 729, 902, 0, 0, 2986, 0, 0, 730, 0, 730, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 730, 0, 730, 0, 5711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5898, 901, 0, 5575, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 0, 5902, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 3072, 0, 901, 5750, 0, 3073, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 5665, 730, 0, 5667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5389, 0, 0, 3072, 0, 3075, 0, 0, 3073, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 5682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 5960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1324, 2795, 0, 730, 0, 0, 1336, 3075, 0, 0, 1336, 0, 1336, 0, 0, 3076, 0, 0, 3077, 2546, 0, 1179, 2547, 0, 0, 730, 2548, 2549, 2550, 730, 0, 1563, 0, 0, 1563, 0, 1563, 0, 1179, 0, 0, 1563, 0, 0, 3068, 0, 0, 0, 2795, 0, 730, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2299, 0, 2301, 2302, 0, 0, 0, 0, 5501, 0, 0, 5504, 3071, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 902, 0, 0, 0, 728, 0, 3078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 900, 728, 901, 0, 0, 728, 0, 0, 0, 0, 0, 5586, 0, 0, 728, 5837, 0, 1563, 0, 1563, 0, 0, 0, 0, 0, 729, 3072, 0, 3439, 0, 0, 3073, 728, 729, 2986, 6092, 0, 6094, 0, 0, 0, 729, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 3074, 2737, 5754, 0, 5862, 5863, 0, 0, 0, 0, 0, 0, 728, 5838, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 1178, 0, 2986, 0, 0, 0, 0, 728, 728, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 6018, 0, 0, 0, 5861, 0, 0, 0, 0, 0, 1563, 0, 0, 2795, 900, 728, 0, 0, 900, 0, 729, 729, 4496, 0, 0, 0, 5877, 3076, 0, 0, 3077, 0, 0, 0, 729, 0, 0, 0, 0, 0, 728, 0, 900, 0, 0, 0, 728, 729, 729, 5906, 5907, 0, 1563, 0, 0, 0, 730, 0, 0, 0, 728, 0, 0, 0, 0, 1178, 0, 728, 0, 0, 728, 0, 0, 0, 0, 2546, 728, 0, 2547, 0, 1563, 0, 2548, 2549, 2550, 0, 6222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 5905, 0, 3068, 0, 728, 0, 0, 0, 0, 902, 0, 728, 3069, 0, 902, 0, 902, 0, 0, 3070, 0, 0, 3078, 2020, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 902, 0, 0, 900, 0, 3071, 0, 0, 0, 728, 0, 0, 0, 1563, 0, 0, 0, 0, 2021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 6002, 0, 730, 0, 0, 730, 0, 0, 0, 0, 0, 6005, 6006, 0, 0, 1563, 0, 1058, 0, 0, 0, 0, 3721, 0, 0, 900, 0, 0, 0, 0, 0, 6011, 0, 0, 0, 2022, 0, 0, 5989, 901, 2986, 0, 1554, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 6348, 0, 6350, 0, 6029, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 2023, 1061, 3722, 0, 3072, 0, 0, 0, 0, 3073, 0, 0, 2546, 0, 0, 2547, 0, 1062, 0, 2548, 2549, 2550, 0, 730, 730, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 730, 1424, 0, 3068, 0, 0, 0, 0, 0, 2024, 0, 1563, 0, 3069, 0, 0, 0, 730, 0, 3075, 3070, 0, 0, 0, 0, 3723, 5872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0, 5882, 0, 0, 910, 0, 0, 0, 1066, 3071, 2025, 0, 0, 0, 2026, 0, 0, 1563, 0, 0, 0, 1067, 981, 2795, 0, 0, 0, 3724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 910, 0, 3077, 0, 1563, 0, 0, 2087, 2028, 0, 0, 0, 0, 0, 0, 0, 1427, 0, 0, 1182, 0, 0, 0, 0, 0, 1182, 1182, 0, 0, 0, 0, 0, 910, 0, 728, 0, 900, 0, 0, 730, 0, 0, 902, 0, 0, 0, 2088, 3725, 0, 0, 141, 0, 0, 0, 728, 2030, 0, 0, 0, 2546, 0, 728, 2547, 0, 2031, 0, 2548, 2549, 2550, 1071, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 3068, 0, 3072, 0, 0, 0, 0, 3073, 3078, 2034, 3069, 0, 0, 0, -2649, 0, 0, 3070, 2035, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 6548, 0, 0, 0, 0, 951, 3726, 0, 0, 1076, -2649, 0, 900, 0, 0, 0, 0, 0, 900, 0, 0, 0, 2037, -2649, 0, 0, 0, 0, 0, -2649, 1563, 0, 0, 0, 0, -2649, 1431, 2795, 0, 3727, 0, -2649, 0, 0, -2649, 0, 1080, 0, -2649, 0, 0, 3076, 4496, 1081, 3077, 2986, 1082, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 1083, 0, 6039, -2649, 0, 0, 0, 1433, 1554, 0, 0, 0, 0, 0, 1085, 0, 0, 1434, 0, 1554, 0, 1087, 0, 0, 0, 0, 0, 0, 3072, -2649, 0, 0, 0, 3073, 728, 1554, 3728, 0, 6316, 0, 0, 0, 0, 0, 1324, 1563, 0, 1324, 0, 6633, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 1092, 0, 4944, 0, 0, 0, 0, 3078, 0, 1563, 0, 730, 0, 0, 0, 3075, -2649, 0, 0, -2649, 0, 0, 0, 0, 0, -2649, 1336, 1336, 0, 6352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1336, 0, 0, 1336, 0, 0, 0, 0, 0, 0, 4496, 2474, 4496, 0, 730, 2795, 2474, 2474, 0, 0, 0, 0, 0, 0, 0, 1554, 730, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, -2649, 0, 728, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6720, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 728, 1336, 0, 728, 0, 1336, 1336, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 1481, 1481, 0, 6086, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0, 0, 0, 6446, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, -2649, 0, 0, 0, 6426, 0, 0, 0, 0, 0, 0, 0, 902, 0, 729, 0, 0, 0, 0, 900, 900, 900, 0, 0, -2649, 0, -2649, -2649, 0, 0, 0, 730, 729, 1563, 1554, 0, 1563, 901, 729, 0, 0, 0, 729, 0, 728, 0, 0, 0, -2649, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, -2649, 729, 0, -2649, -2649, 0, -2649, 0, 0, 0, 0, 0, 1481, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 729, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 1179, 0, 0, 0, 6120, 0, 0, 729, 729, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 901, 729, 2547, 0, 901, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 3068, 0, 729, 0, 901, 0, 0, 0, 729, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 729, 0, 0, 1563, 0, 1179, 0, 729, 0, 0, 729, 0, 0, 0, 0, 0, 729, 0, 900, 0, 0, 3071, 0, 0, 728, 2546, 728, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 729, 0, 0, 728, 0, 728, 729, 6602, 0, 0, 0, 0, 0, 729, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 729, 730, 0, 730, 3070, 0, 0, 0, 0, 0, 0, 0, 2546, 729, 0, 2547, 0, 0, 901, 2548, 2549, 2550, 0, 0, 729, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 728, 730, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 1337, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 1563, 3073, 6716, 3071, 0, 0, 0, 901, 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 902, 0, 3074, 2737, 0, 1337, 0, 0, 981, 0, 728, 0, 0, 0, 0, 0, 0, 981, 1563, 0, 0, 0, 0, 3075, 0, 981, 0, 0, 981, 0, 0, 0, 728, 0, 0, 1554, 728, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 3074, 2737, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 2795, 1566, 0, 0, 0, 981, 0, 0, 0, 3075, 0, 0, 981, 0, 3076, 981, 0, 3077, 0, 0, 900, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 729, 0, 901, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 729, 4496, 0, 0, 0, 3076, 0, 729, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 1554, 0, 0, 2020, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 730, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 1554, 3078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2021, 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, 981, 981, 0, 0, 0, 2986, 0, 1182, 0, 0, 0, 1182, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 901, 3078, 0, 6122, 1554, 0, 901, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 1554, 0, 2986, 0, 0, 0, 0, 0, 2023, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 6161, 0, 1324, 0, 0, 1336, 0, 1336, 1336, 0, 0, 0, 0, 0, 0, 0, 1554, 1554, 0, 0, 0, 0, 729, 0, 0, 0, 900, 2024, 2986, 0, 0, 900, 0, 900, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 6512, 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 2025, 0, 0, 0, 2026, 0, 0, 902, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 1182, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 2104, 2028, 2546, 728, 0, 2547, 728, 0, 0, 2548, 2549, 2550, 981, 981, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 3068, 0, 0, 0, 1566, 981, 0, 729, 729, 981, 3069, 981, 2105, 0, 0, 1566, 141, 3070, 0, 0, 0, 2030, 0, 0, 0, 0, 0, 0, 0, 0, 2031, 1566, 0, 0, 729, 0, 0, 729, 0, 2032, 0, 0, 0, 3071, 0, 1554, 0, 2106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 902, 0, 2034, 0, 0, 0, 0, 0, 0, 0, 0, 2035, 728, 728, 0, 2036, 0, 981, 0, 981, 981, 0, 0, 728, 0, 730, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 901, 901, 901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 1566, 2547, 0, 2037, 0, 2548, 2549, 2550, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 729, 0, 0, 0, 3069, 3072, 0, 0, 1563, 0, 3073, 3070, 0, 0, 1337, 1337, 0, 0, 0, 975, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 3071, 0, 0, 0, 728, 0, 0, 900, 0, 0, 0, 0, 0, 981, 0, 2546, 0, 3075, 2547, 0, 0, 1563, 2548, 2549, 2550, 0, 1563, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 729, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 2546, 0, 3071, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 3068, 0, 0, 0, 3922, 0, 0, 0, 0, 3072, 3069, 0, 901, 0, 3073, 0, 0, 3070, 729, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 729, 1563, 729, 0, 3074, 2737, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 3078, 0, 981, 981, 981, 1324, 981, 0, 1336, 0, 1336, 1336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 902, 981, 0, 0, 0, 0, 0, 0, 3072, 0, 3923, 0, 0, 3073, 0, 2795, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, 1337, 1337, 3075, 0, 0, 0, 0, 728, 0, 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 2986, 0, 3073, 981, 0, 729, 0, 981, 981, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 2795, 6534, 981, 0, 3074, 2737, 729, 0, 728, 0, 729, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 728, 0, 0, 0, 3078, 3075, 0, 2546, 0, 0, 2547, 729, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, 3068, 0, 728, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 2795, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 3076, 0, 910, 3077, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 1182, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 901, 0, 900, 0, 1182, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 1566, 0, 0, 0, 6732, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0, 1554, 0, 0, 0, 1554, 1554, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 2986, 3072, 0, 0, 0, 1566, 3073, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 6749, 0, 0, 3924, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 3075, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 2986, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 981, 981, 981, 3068, 0, 2795, 0, 0, 2546, 0, 1554, 2547, 0, 3069, 0, 2548, 2549, 2550, 0, 3076, 3070, 729, 3077, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 3068, 0, 0, 4537, 0, 0, 0, 1566, 0, 0, 3069, 0, 0, 3071, 0, 0, 0, 3070, 0, 910, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 901, 0, 0, 0, 3071, 901, 0, 901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 901, 0, 0, 0, 0, 2546, 0, 1566, 2547, 3078, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 981, 0, 0, 1566, 3068, 0, 0, 0, 728, 0, 981, 0, 0, 0, 3069, 0, 1566, 0, 0, 0, 729, 3070, 0, 729, 0, 0, 0, 0, 1566, 0, 0, 0, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 981, 981, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 900, 981, 3074, 2737, 3072, 0, 0, 0, 0, 3073, 1566, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 2986, 0, 0, 1554, 0, 3074, 2737, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 6822, 0, 0, 0, 3075, 0, 729, 729, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 729, 0, 0, 981, 0, 0, 0, 981, 981, 0, 0, 0, 3076, 4600, 0, 3077, 0, 729, 0, 4601, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 3072, 0, 0, 1554, 3076, 3073, 0, 3077, 981, 981, 0, 0, 0, 0, 981, 981, 0, 0, 0, 0, 0, 981, 981, 981, 981, 981, 981, 981, 3074, 2737, 981, 0, 981, 0, 981, 981, 981, 981, 981, 981, 0, 0, 981, 0, 981, 981, 0, 0, 981, 3075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 981, 981, 981, 2546, 3078, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 729, 0, 0, 901, 0, 981, 0, 910, 0, 0, 0, 0, 0, 0, 2795, 3068, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 3069, 0, 0, 3076, 0, 0, 3077, 3070, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 900, 0, 1554, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 3463, 1554, 0, 0, 0, 0, 0, 0, 4602, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 6589, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 975, 0, 3073, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 0, 729, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 900, 0, 728, 0, 2795, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 975, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 729, 0, 6, 7, 0, 0, 0, 8, 0, 9, 10, 6590, 729, 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, 0, 36, 0, 37, 0, 38, 39, 0, 729, 0, 0, 40, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 1554, 0, 1554, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 1554, 901, 0, 0, 0, 0, 0, 728, 0, 0, 0, 981, 981, 981, 981, 981, 981, 981, 981, 981, 729, 981, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 42, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 1554, 981, 1554, 0, 981, 0, 981, 0, 0, 981, 44, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 729, 0, 981, 0, 0, 0, 0, 0, 728, 975, 975, 981, 981, 45, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 3071, 46, 0, 0, 47, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 3069, 0, 0, 0, 0, 0, 1566, 3070, 48, 0, 1566, 1566, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 3068, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 981, 0, 0, 0, 729, 0, 729, 0, 0, 0, 0, 981, 1554, 1566, 981, 0, 981, 981, 0, 1566, 0, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 49, 0, 1182, 3073, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 910, 1554, 0, 0, 910, 0, 0, 3075, 0, 3072, 0, 50, 0, 900, 3073, 0, 0, 0, 0, 0, 901, 0, 0, 1554, 0, 0, 0, 51, 910, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 52, 0, 0, 0, 0, 1554, 2795, 975, 0, 1182, 0, 975, 0, 0, 3072, 0, 3075, 0, 0, 3073, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 62, 63, 2795, 64, 65, 66, 67, 68, 3075, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5240, 0, 0, 0, 0, 2795, 0, 0, 1554, 0, 981, 981, 981, 0, 3078, 0, 981, 0, 0, 3076, 0, 0, 3077, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 4573, 0, 981, 1566, 0, 0, 0, 0, 3068, 0, 1554, 910, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 3078, 3070, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 1554, 0, 2548, 2549, 2550, 0, 5241, 0, 0, 981, 0, 0, 0, 0, 0, 0, 3071, 729, 0, 0, 3068, 0, 0, 4605, 0, 0, 0, 0, 0, 0, 3069, 729, 0, 0, 0, 0, 3078, 3070, 0, 4547, 2986, 1566, 0, 0, 0, 1566, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 901, 3071, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 5931, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 4610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, 0, 0, 0, 3072, 0, 0, 0, 0, 3073, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 1554, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 3075, 0, 0, 3073, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 1566, 981, 0, 981, 981, 1566, 0, 3074, 2737, 0, 0, 0, 0, 981, 0, 0, 0, 0, 981, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 0, 1566, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 901, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 981, 981, 981, 0, 0, 981, 0, 0, 0, 2795, 0, 0, 0, 981, 981, 981, 981, 0, 0, 0, 0, 0, 1554, 3076, 910, 0, 3077, 0, 0, 981, 910, 0, 981, 0, 981, 0, 0, 0, 0, 0, 0, 975, 0, 0, 0, 981, 981, 0, 975, 981, 0, 0, 0, 975, 0, 0, 975, 6057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 981, 0, 981, 2546, 981, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 981, 0, 901, 0, 0, 3068, 0, 975, 4617, 0, 0, 0, 0, 0, 981, 3069, 0, 0, 0, 0, 0, 0, 3070, 3078, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 3071, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 1336, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 981, 0, 0, 0, 2986, 0, 0, 0, 981, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 0, 0, 1336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 1566, 0, 1566, 1554, 0, 0, 1554, 1566, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 2546, 981, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 975, 0, 0, 3073, 0, 3068, 729, 0, 1566, 0, 0, 0, 0, 0, 0, 3069, 1566, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 3075, 3071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, 0, 0, 910, 910, 910, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 1566, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 901, 0, 5247, 3072, 0, 0, 0, 0, 3073, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6386, 3074, 2737, 0, 0, 3078, 0, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 901, 1566, 0, 0, 0, 0, 3075, 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, 0, 0, 901, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 1554, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 910, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 1554, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 3072, 0, 981, 0, 0, 3073, 0, 1554, 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5178, 1566, 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 3076, 0, 0, 3077, 0, 9, 10, 0, 975, 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, 0, 0, 0, 37, 0, 38, 39, 2986, 0, 0, 0, 40, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 1566, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 3078, 0, 981, 981, 1554, 0, 0, 0, 981, 1336, 41, 0, 0, 0, 0, 0, 981, 0, 981, 0, 0, 981, 0, 0, 0, 1566, 981, 981, 981, 981, 0, 0, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0, 0, 0, 981, 981, 981, 0, 0, 1566, 0, 0, 0, 0, 981, 0, 0, 0, 0, 981, 0, 910, 0, 981, 0, 0, 0, 0, 0, 0, 0, 981, 975, 0, 981, 0, 981, 0, 0, 0, 1336, 1336, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 981, 981, 0, 0, 2986, 981, 981, 0, 0, 43, 981, 0, 981, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 981, 0, 0, 981, 0, 0, 0, 0, 0, 44, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 45, 2548, 2549, 2550, 0, 0, 0, 0, 975, 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 981, 0, 0, 3069, 0, 0, 6750, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 935, 981, 0, 46, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 3071, 0, 0, 0, 0, 0, 0, 0, 48, 981, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0, 6794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 938, 0, 0, 0, 975, 0, 939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 910, 0, 0, 0, 0, 910, 1566, 910, 940, 0, 0, 0, 0, 0, 0, 5712, 0, 0, 49, 941, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 6794, 910, 1566, 0, 3072, 0, 0, 6843, 0, 3073, 0, 943, 0, 0, 0, 0, 0, 944, 0, 1554, 1336, 1336, 0, 0, 945, 0, 0, 0, 0, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 946, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 51, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 52, 0, 0, 0, 0, 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 3069, 1554, 948, 0, 0, 53, 0, 3070, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 981, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1613, 0, 0, 3071, 0, 66, 1614, 0, 0, 0, 0, 0, 0, 949, 0, 0, 0, 0, 0, 1566, 0, 1554, 0, 0, 0, 0, 1554, 1554, 0, 0, 0, 0, 0, 981, 981, 0, 0, 950, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 952, 0, 0, 953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 1566, 981, 981, 0, 0, 3078, 0, 954, 0, 0, 955, 0, 981, 0, 956, 0, 0, 957, 0, 0, 0, 0, 0, 0, 958, 0, 0, 959, 5718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 960, 3072, 0, 0, 0, 0, 3073, 961, 0, 0, 0, 0, 962, 0, 963, 0, 0, 964, 0, 1565, 0, 965, 0, 1554, 0, 0, 910, 0, 0, 3074, 2737, 966, 0, 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 968, 3075, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 969, 0, 0, 981, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1058, 0, 2795, 0, 0, 1059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 981, 3077, 0, 981, 0, 0, 0, 0, 0, 0, 0, 981, 981, 0, 1566, 0, 0, 0, 981, 981, 0, 0, 0, 981, 0, 1060, 0, 0, 0, 0, 981, 0, 0, 981, 981, 0, 0, 0, 1061, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1062, 981, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 981, 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 0, 1064, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 1065, 981, 0, 0, 0, 0, 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1067, 0, 0, 0, 981, 0, 1068, 0, 0, 0, 0, 0, 0, 1069, 5, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 6, 7, 1554, 0, 0, 0, 0, 9, 10, 1070, 0, 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, 0, 0, 1566, 37, 2986, 38, 39, 0, 0, 0, 0, 40, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 1566, 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 981, 2548, 2549, 2550, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2203, 3068, 1072, 0, 41, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 1073, 0, 0, 3070, 1565, 0, 0, 0, 0, 0, 0, 1074, 0, 0, 0, 1565, 1566, 0, 0, 0, 0, 951, 1075, 0, 0, 1076, 0, 0, 0, 3071, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 979, 0, 0, 0, 0, 0, 1077, 0, 0, 1078, 0, 0, 981, 1079, 0, 0, 1080, 910, 0, 0, 42, 1148, 0, 1081, 1151, 0, 1082, 0, 1159, 0, 0, 0, 0, 0, 1168, 0, 1188, 0, 1191, 0, 43, 0, 0, 981, 1224, 1083, -2665, 0, 0, 1229, 0, 0, 1084, 0, 0, 0, 0, 0, 0, 1085, 0, 0, 1086, 0, 44, 0, 1087, 0, 0, 0, 0, 0, 0, 5719, 1088, 0, 1089, 0, 1565, 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0, 45, 1566, 0, 1566, 0, 1091, 0, 0, -2665, 3072, 0, 0, 0, 0, 3073, 0, 0, 0, 1092, 0, 0, -2665, 0, 0, 0, 0, 0, -2665, 0, 0, 0, 0, 0, -2665, 0, 0, 0, 3074, 2737, -2665, 0, 0, -2665, 0, 0, 46, -2665, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 981, -2665, 0, 981, 0, 0, 981, 981, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, -2665, 0, 0, 0, 0, 0, 981, 981, 0, 0, 981, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 981, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 981, 0, 0, 981, 981, 0, 0, 0, 0, 0, 0, 981, -2665, 0, 0, -2665, 0, 0, 0, 0, 0, -2665, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 0, 0, 0, 0, 0, 50, 0, 0, 0, 2546, -2665, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 1566, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 3068, 0, 52, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1154, 0, 0, 0, 910, 0, 0, 0, 0, 981, 3071, 0, 0, 0, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1613, 2405, 0, 0, -2665, 66, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, -2665, 0, -2665, -2665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 1566, 0, 0, -2665, 0, 0, 5720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2665, 0, 0, -2665, -2665, 0, -2665, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 981, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 981, 3073, 0, 0, 0, 981, 0, 0, 0, 0, 0, 981, 0, 0, 0, 981, 3184, 0, 0, 0, 0, 1566, 981, 0, 3074, 2737, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 0, 3070, 1566, 0, 0, 0, 0, 1566, 1566, 0, 0, 0, 981, 0, 0, 3184, 0, 2795, 981, 981, 0, 1556, 0, 0, 0, 0, 0, 3071, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 1565, 0, 981, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 1566, 0, 0, 3078, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, 0, 0, 3072, 3070, 0, 0, 981, 3073, 0, 0, 0, 0, 0, 0, 0, 981, 981, 981, 0, 0, 981, 0, 0, 981, 0, 0, 2203, 2203, 2203, 3071, 3074, 2737, 0, 0, 981, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0, 1565, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 1565, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 2795, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 910, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6255, 0, 0, 0, 0, 0, 0, 0, 0, 979, 1326, 1326, 0, 0, 1326, 0, 0, 1565, 1338, 0, 1224, 0, 0, 1365, 0, 3072, 1338, 0, 0, 1338, 3073, 0, 1224, 0, 1326, 0, 0, 1224, 0, 1565, 0, 1326, 981, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 1419, 0, 1565, 0, 0, 0, 1224, 0, 1326, 0, 1326, 0, 3075, 1326, 0, 0, 0, 0, 3078, 0, 1365, 981, 0, 0, 0, 1476, 0, 1326, 0, 0, 0, 0, 0, 1326, 0, 981, 910, 0, 0, 1566, 0, 0, 1565, 1565, 981, 0, 981, 0, 981, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 981, 0, 0, 1556, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 979, 1556, 0, 981, 0, 0, 0, 0, 0, 1338, 0, 0, 0, 1365, 0, 0, 1338, 1556, 0, 1338, 0, 0, 0, 6079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 981, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 981, 0, 0, 0, 0, 0, 0, 0, 981, 981, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 3078, 2203, 0, 0, 0, 0, 981, 1224, 0, 0, 2203, 0, 0, 2203, 0, 0, 981, 0, 0, 1692, 0, 1556, 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, 1811, 1811, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 1224, 0, 0, 981, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 981, 981, 0, 1224, 0, 0, 0, 0, 0, 2986, 981, 0, 0, 0, 0, 981, 1224, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2546, 0, 0, 2547, 0, 0, 0, 2548, 2549, 2550, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3069, 1556, 0, 0, 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 3071, 0, 0, 0, 981, 1058, 0, 0, 0, 1224, 3236, 910, 0, 0, 1326, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 981, 0, 3237, 981, 0, 0, 0, 981, 0, 0, 0, 910, 0, 0, 0, 1061, 0, 0, 0, 0, 981, 981, 0, 0, 1811, 1811, 0, 0, 0, 0, 910, 1062, 0, 0, 0, 0, 0, 0, 979, 0, 1326, 0, 0, 0, 1338, 0, 0, 1365, 1338, 1424, 1338, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 3238, 3073, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 1065, 1326, 1326, 0, 0, 0, 0, 0, 0, 1066, 0, 0, 0, 3074, 2737, 0, 0, 0, 0, 0, 0, 0, 1067, 1224, 1224, 1224, 0, 1326, 3239, 979, 0, 979, 979, 0, 3075, 0, 0, 0, 2309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3076, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 0, 0, 1326, 0, 1326, 1326, 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, 0, 0, 0, 0, 0, 0, 3240, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3078, 951, 3241, 2203, 0, 1076, 0, 0, 0, 0, 2444, 0, 2444, 0, 0, 0, 1224, 0, 1148, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1431, 0, 0, 3242, 0, 0, 0, 0, 0, 0, 1080, 0, 0, 0, 0, 0, 2484, 1081, 1224, 0, 1082, 0, 2490, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 1083, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0, 0, 0, 0, 1085, 0, 0, 1434, 1556, 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0, 3243, 1811, 2986, 0, 0, 0, 0, 3244, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 1092, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3991, 0, 0, 0, 3184, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1224, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 1565, 0, 0, 0, 1811, 0, 1565, 0, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 1224, 1224, 3127, 0, 1811, 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, 1556, 0, 0, 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, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3257, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 3285, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365, 0, 1224, 0, 0, 0, 0, 0, 3351, 3351, 0, 0, 3351, 0, 0, 2203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 1326, 1326, 1326, 1224, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 3184, 0, 0, 0, 3184, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1326, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 3351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 1326, 1326, 1326, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 3564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 979, 0, 0, 979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 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, 1565, 0, 1338, 1338, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 1365, 1365, 0, 0, 1338, 0, 0, 1338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 1326, 1326, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 0, 0, 0, 0, 0, 0, 1326, 0, 1338, 0, 0, 3682, 1338, 1338, 0, 1224, 1224, 0, 1326, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 1224, 3564, 0, 0, 1148, 0, 0, 1148, 3720, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 0, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 0, 0, 1811, 0, 1811, 1365, 1811, 1811, 1811, 1811, 1811, 1811, 0, 0, 1811, 0, 1811, 1811, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3184, 0, 0, 3997, 0, 3997, 0, 0, 0, 0, 3184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 6, 7, 0, 0, 0, 0, 0, 9, 10, 0, 3184, 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, 0, 0, 0, 37, 0, 38, 39, 0, 0, 0, 1811, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1565, 0, 1565, 0, 0, 0, 0, 1556, 0, 0, 0, 1556, 1556, 5, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 6, 7, 41, 0, 0, 0, 0, 9, 10, 0, 0, 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, 0, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 1556, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 43, 2203, 0, 0, 0, 0, 41, 2203, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 42, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1224, 1811, 47, 0, 1811, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 48, 0, 1224, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1224, 0, 1811, 0, 0, 1326, 1811, 0, 1565, 1811, 0, 1811, 0, 0, 1811, 0, 0, 0, 1224, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 46, 0, 0, 47, 0, 0, 1556, 0, 1224, 0, 0, 0, 0, 49, 0, 0, 3959, 0, 3964, 0, 0, 0, 0, 0, 0, 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, 50, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 51, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1148, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 1811, 49, 0, 0, 0, 0, 0, 0, 0, 0, 53, 979, 0, 0, 1338, 1365, 1338, 1338, 0, 1565, 1326, 0, 0, 1224, 0, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1613, 3641, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 3285, 0, 0, 0, 0, 0, 0, 0, 4094, 1224, 0, 0, 0, 51, 0, 4105, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 1224, 0, 1556, 0, 0, 0, 0, 1556, 54, 55, 56, 57, 58, 59, 0, 0, 60, 61, 1613, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1326, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3184, 1224, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4248, 0, 4251, 4253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 1811, 0, 1326, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 3285, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 4353, 0, 0, 1148, 0, 0, 0, 0, 3997, 0, 0, 0, 0, 0, 0, 1326, 4367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 4389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4453, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 1326, 1556, 1326, 1556, 1326, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 1565, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 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, 3997, 0, 0, 3184, 0, 979, 1326, 0, 1338, 0, 1338, 1338, 0, 1326, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 1556, 0, 0, 0, 0, 1811, 1811, 1811, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 1811, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365, 0, 1811, 0, 1811, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1811, 0, 0, 4668, 0, 0, 0, 1224, 0, 0, 1565, 0, 0, 0, 4689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 1556, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 4689, 0, 0, 0, 4745, 0, 0, 4748, 4689, 0, 3964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1811, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 1326, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1565, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1224, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 3351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 5987, 0, 1565, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1224, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 1224, 1224, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 3682, 5146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 3997, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 1811, 0, 0, 1811, 0, 0, 0, 0, 1811, 1811, 1811, 1811, 0, 0, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 0, 0, 0, 1811, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 1811, 0, 0, 0, 1811, 0, 0, 0, 3997, 0, 0, 0, 1811, 0, 0, 1811, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 1556, 1811, 1811, 0, 0, 0, 1811, 1811, 0, 0, 0, 1811, 0, 1811, 5276, 0, 0, 0, 0, 0, 0, 0, 1224, 1224, 1224, 979, 0, 0, 4689, 5295, 0, 0, 0, 5295, 5309, 5295, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 1556, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 3964, 0, 1811, 1565, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5371, 2444, 2444, 0, 0, 2444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3285, 5403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 5987, 1565, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5475, 1180, 0, 0, 0, 0, 0, 1180, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 1811, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 1556, 0, 0, 5563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 4689, 4367, 0, 0, 0, 0, 1556, 0, 4248, 0, 0, 0, 0, 0, 0, 0, 0, 5613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 1224, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4453, 4453, 4453, 4453, 4453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 1811, 1556, 0, 1811, 1811, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 1224, 1224, 1224, 1224, 0, 0, 0, 5295, 5309, 5295, 0, 1811, 5295, 0, 0, 5768, 0, 0, 0, 4689, 0, 0, 0, 4689, 0, 0, 0, 0, 0, 5783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 4745, 0, 0, 0, 1811, 0, 3964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1148, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3285, 0, 0, 0, 5850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2203, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 979, 0, 0, 0, 0, 0, 0, 3285, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 4389, 0, 1556, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 6001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 1811, 0, 0, 1811, 0, 0, 1811, 1811, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 1556, 1556, 0, 0, 0, 1811, 1811, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 979, 0, 0, 5295, 0, 0, 0, 4689, 0, 0, 0, 0, 4689, 0, 0, 4689, 979, 0, 4248, 0, 6061, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5371, 0, 0, 1811, 0, 977, 0, 0, 0, 0, 1564, 0, 0, 0, 977, 5371, 1365, 1326, 0, 1326, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1338, 1365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5563, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 977, 977, 3285, 0, 0, 0, 0, 1180, 0, 0, 0, 1180, 1224, 0, 0, 0, 5613, 0, 0, 6210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 1224, 5371, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 1811, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 4689, 0, 0, 0, 6061, 0, 0, 1811, 0, 6300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 1811, 1811, 0, 0, 0, 1326, 1326, 1326, 1326, 1180, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 979, 0, 0, 977, 0, 0, 0, 0, 1564, 977, 0, 0, 0, 977, 0, 977, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 1224, 0, 0, 4689, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 977, 977, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 1811, 1811, 0, 0, 979, 0, 0, 1811, 0, 0, 0, 6469, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 2444, 0, 0, 0, 0, 5371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 0, 1365, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 2444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6001, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4248, 0, 0, 1811, 0, 0, 0, 977, 0, 0, 0, 0, 1811, 0, 1811, 0, 1811, 6300, 0, 0, 0, 0, 0, 0, 0, 3964, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 1338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 2444, 0, 0, 0, 0, 0, 977, 977, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3285, 0, 0, 0, 0, 977, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5371, 0, 0, 0, 0, 0, 0, 0, 1338, 1338, 6681, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 6469, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 2444, 2444, 6708, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 977, 0, 0, 0, 977, 977, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 6562, 1326, 1326, 0, 0, 0, 5371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 979, 1811, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 1811, 6759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 6792, 6793, 979, 6796, 0, 3964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326, 0, 0, 5371, 0, 0, 0, 0, 1180, 0, 0, 6469, 0, 0, 0, 0, 0, 0, 1564, 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, 1811, 979, 0, 0, 1811, 0, 0, 0, 979, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 1338, 1338, 0, 0, 6858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 0, 0, 0, 977, 977, 0, 0, 0, 0, 0, 977, 977, 977, 977, 977, 977, 977, 0, 0, 977, 0, 977, 0, 977, 977, 977, 977, 977, 977, 0, 0, 977, 0, 977, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 977, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 977, 977, 977, 977, 977, 977, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 977, 0, 0, 977, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 1557, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1564, 0, 0, 0, 1564, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 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, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 1564, 977, 0, 977, 977, 0, 1564, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 81, 0, 0, 0, 82, 0, 83, 0, 84, 85, 0, 0, 0, 0, 1180, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 1564, 0, 0, 88, 89, 90, 91, 0, 0, 0, 92, 93, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 96, 0, 97, 98, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 101, 0, 102, 103, 0, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 104, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 108, 109, 0, 0, 0, 0, 0, 110, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 115, 0, 116, 117, 0, 0, 0, 0, 0, -1716, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 119, 0, 0, 0, 120, 0, 977, 977, 977, 0, 121, 122, 977, 0, 0, 0, 0, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 977, 1564, 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1716, 0, 0, 977, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, 0, 1564, 0, 132, 0, 1564, 0, 0, 0, 0, 0, -1716, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 138, 139, 0, 140, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 142, 0, 0, 143, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 145, 146, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 148, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 977, 0, 1564, 977, 0, 977, 977, 1564, 0, 0, 0, 150, 0, 0, 0, 977, 0, 0, 0, 0, 977, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 153, 0, 1564, 0, 0, 0, 154, 0, 0, 155, 0, 0, -1716, 0, 0, 156, 0, 0, 0, 0, 157, 158, 0, 0, 0, 0, 0, 0, 0, 977, 977, 977, 0, 159, 977, 0, 0, 0, 0, 0, 0, 0, 977, 977, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 977, 0, 0, 977, 0, 977, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 977, 977, 161, 0, 977, 0, -149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 977, 0, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 1557, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 1564, 0, 1564, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 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, 1564, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 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, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 977, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 1557, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 977, 0, 982, 1564, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 1557, 0, 977, 977, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 977, 0, 0, 977, 0, 0, 0, 1564, 977, 977, 977, 977, 0, 0, 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, 0, 0, 0, 977, 977, 977, 0, 0, 1564, 0, 0, 0, 0, 977, 0, 0, 0, 0, 977, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 977, 0, 0, 0, 977, 977, 0, 0, 0, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 1557, 0, 1557, 0, 0, 0, 0, 1557, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 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, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 1564, 977, 977, 0, 0, 1559, 0, 0, 0, 1557, 0, 0, 977, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 1559, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 1557, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 1564, 0, 0, 0, 977, 977, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 977, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 977, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 1557, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 977, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1557, 0, 0, 982, 0, 1564, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1567, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 977, 0, 0, 977, 0, 0, 977, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 977, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1567, 982, 0, 0, 0, 982, 0, 982, 0, 1564, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 977, 1557, 0, 0, 1557, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 982, 0, 982, 982, 0, 0, 0, 0, 1559, 0, 0, 0, 1559, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 977, 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 977, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 1559, 977, 1557, 0, 0, 0, 0, 977, 0, 0, 982, 977, 0, 0, 0, 0, 0, 1564, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 1564, 0, 0, 0, 0, 1564, 1564, 0, 0, 0, 977, 0, 0, 0, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1564, 1564, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 977, 977, 977, 0, 0, 977, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 982, 0, 0, 0, 982, 982, 1557, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 1559, 977, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 1559, 0, 1564, 0, 0, 0, 1567, 977, 0, 977, 0, 977, 0, 0, 0, 1559, 0, 0, 0, 0, 1559, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 977, 977, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 977, 0, 0, 0, 1557, 1567, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 982, 0, 1559, 982, 1559, 0, 1567, 0, 0, 1559, 977, 0, 0, 982, 977, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 977, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 982, 0, 0, 982, 0, 0, 0, 1559, 0, 0, 0, 0, 1567, 1567, 977, 977, 0, 0, 977, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 977, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 1559, 0, 1559, 0, 1557, 1557, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 982, 982, 982, 982, 982, 982, 982, 0, 0, 982, 0, 982, 0, 982, 982, 982, 982, 982, 982, 0, 0, 982, 0, 982, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 982, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 982, 982, 982, 982, 982, 982, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 982, 0, 0, 982, 0, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 1559, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 1567, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 1567, 982, 0, 982, 982, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 982, 0, 1567, 982, 0, 982, 982, 1567, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 982, 982, 982, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 982, 982, 0, 0, 982, 0, 0, 0, 1030, 1040, 0, 1046, 0, 0, 0, 0, 0, 1040, 0, 1559, 0, 0, 0, 0, 0, 982, 0, 982, 0, 982, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1237, 1237, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 1567, 0, 1567, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 1567, 0, 734, 0, 800, 800, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 800, 0, 0, 0, 0, 0, 800, 800, 0, 800, 0, 0, 0, 982, 0, 800, 0, 1139, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 1559, 0, 0, 0, 0, 0, 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 1559, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, 0, 982, 0, 0, 1567, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 982, 982, 1559, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 0, 982, 0, 0, 982, 800, 0, 0, 1567, 982, 982, 982, 982, 0, 0, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 0, 0, 0, 982, 982, 982, 0, 0, 1567, 0, 0, 0, 0, 982, 0, 0, 0, 0, 982, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 982, 0, 0, 0, 982, 982, 1328, 0, 0, 982, 1332, 982, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 1369, 0, 982, 1374, 1375, 982, 1378, 0, 1381, 0, 0, 1387, 0, 1389, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1455, 0, 0, 0, 1459, 0, 0, 0, 0, 0, 0, 1471, 1472, 0, 0, 1478, 982, 1482, 1483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1279, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 1527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 1593, 0, 1595, 0, 0, 0, 0, 0, 0, 0, 0, 1609, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 1279, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 1948, 0, 1951, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 800, 0, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 1567, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2237, 0, 2238, 0, 0, 0, 0, 734, 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 982, 2251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2303, 0, 2305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 1567, 0, 0, 0, 982, 982, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 982, 0, 0, 0, 0, 0, 982, 0, 1508, 800, 0, 800, 0, 0, 0, 734, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 800, 982, 0, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 1139, 0, 1139, 0, 0, 982, 0, 0, 734, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 2465, 0, 0, 0, 0, 1139, 1139, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 800, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 734, 734, 0, 0, 1929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 787, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 1237, 1609, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 1567, 0, 1567, 3144, 0, 0, 3144, 0, 0, 0, 0, 0, 0, 0, 3151, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 982, 0, 0, 982, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3247, 0, 0, 0, 0, 0, 982, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 982, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3337, 982, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 800, 0, 800, 982, 0, 800, 0, 800, 0, 0, 800, 800, 800, 0, 0, 0, 2439, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 800, 0, 0, 0, 0, 0, 800, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3467, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 3503, 0, 0, 0, 0, 982, 0, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 3568, 0, 982, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 982, 0, 0, 0, 3590, 0, 982, 0, 3017, 0, 982, 0, 0, 0, 0, 0, 1567, 982, 0, 0, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 734, 734, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3628, 0, 3629, 0, 0, 1567, 0, 0, 0, 0, 1567, 1567, 1562, 0, 0, 982, 1609, 3638, 0, 3639, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 734, 0, 3660, 0, 0, 0, 0, 0, 982, 0, 3148, 0, 0, 0, 1609, 0, 982, 0, 1609, 1794, 1794, 0, 0, 1609, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 3712, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 734, 0, 0, 0, 982, 982, 982, 0, 0, 982, 734, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 734, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 2204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 982, 0, 734, 0, 1567, 0, 0, 0, 0, 982, 0, 982, 0, 982, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 1562, 0, 0, 982, 982, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 982, 800, 0, 0, 0, 800, 982, 800, 0, 0, 800, 0, 0, 0, 800, 0, 0, 0, 0, 3017, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 982, 2497, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 2516, 0, 0, 0, 0, 0, 0, 0, 0, 3893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2535, 2536, 2537, 982, 2540, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 982, 0, 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 982, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 3091, 0, 0, 0, 3103, 3108, 0, 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3987, 3988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4003, 4004, 0, 0, 0, 4007, 4008, 0, 0, 0, 4011, 4012, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4023, 0, 0, 0, 0, 0, 0, 4032, 0, 0, 0, 4035, 4036, 0, 0, 4039, 4040, 0, 0, 0, 0, 0, 4045, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 4060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4077, 0, 0, 0, 0, 4079, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 4085, 0, 0, 1562, 0, 0, 0, 0, 0, 4092, 0, 0, 4096, 0, 4098, 4101, 4103, 0, 0, 0, 0, 4111, 4114, 0, 0, 0, 0, 0, 0, 0, 0, 4127, 0, 0, 0, 0, 0, 4137, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4150, 4151, 0, 0, 0, 4156, 0, 0, 0, 0, 0, 4165, 4166, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 4175, 0, 0, 4176, 0, 0, 0, 0, 0, 0, 4188, 4189, 0, 0, 0, 0, 4193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 4200, 0, 0, 4203, 1562, 0, 0, 0, 4206, 1560, 0, 0, 0, 0, 4209, 4210, 0, 1609, 0, 1609, 0, 0, 4216, 1609, 0, 1560, 4218, 0, 0, 0, 4225, 4226, 4227, 4228, 0, 4230, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4255, 4256, 0, 4258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4267, 4268, 4269, 0, 0, 0, 0, 2200, 2200, 2200, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 4321, 0, 0, 0, 0, 0, 0, 1560, 4345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2439, 0, 0, 4357, 1562, 0, 0, 3894, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 3148, 0, 0, 0, 0, 0, 1560, 1560, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 4461, 0, 4463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 1562, 734, 0, 0, 1279, 0, 0, 3976, 0, 1929, 0, 0, 800, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 1562, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 2997, 0, 0, 0, 4528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3739, 0, 0, 0, 0, 0, 0, 0, 0, 3759, 3759, 3764, 3770, 0, 0, 0, 3775, 0, 3776, 0, 3778, 0, 0, 3792, 3795, 3800, 0, 0, 0, 0, 0, 3809, 0, 0, 3814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3821, 3822, 3823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3831, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0, 0, 0, 1449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3850, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 4781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4800, 2997, 0, 0, 4800, 2997, 3852, 0, 0, 4811, 4812, 4813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4843, 4844, 4845, 4846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4862, 0, 0, 0, 0, 0, 0, 0, 4865, 0, 4869, 4870, 4871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1876, 3859, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 0, 3868, 0, 0, 0, 0, 0, 0, 0, 4954, 0, 0, 0, 1794, 0, 0, 2200, 0, 4960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4970, 4971, 0, 0, 0, 4972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5014, 3824, 0, 0, 0, 3831, 0, 1560, 3850, 0, 3852, 1560, 1560, 3914, 0, 0, 0, 0, 0, 0, 2077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 2536, 2537, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 5051, 0, 0, 3788, 0, 1040, 0, 0, 0, 0, 0, 5063, 0, 0, 0, 0, 1560, 0, 2997, 2997, 2997, 0, 1560, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 5102, 734, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 0, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2256, 0, 0, 0, 0, 0, 0, 0, 5132, 0, 5133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 4037, 0, 1562, 1562, 0, 1609, 2290, 2293, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4279, 4280, 2200, 0, 0, 0, 4284, 1560, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5375, 0, 0, 5382, 0, 5383, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 5390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0, 5399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 5425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3061, 0, 0, 5429, 0, 0, 0, 0, 0, 5433, 0, 1560, 0, 2997, 0, 0, 0, 1562, 0, 0, 0, 1562, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 1560, 0, 0, 5468, 0, 0, 0, 5472, 0, 0, 0, 3124, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 5482, 5483, 5484, 5485, 0, 0, 1560, 0, 0, 0, 5489, 5490, 5491, 5492, 0, 0, 0, 0, 0, 5494, 5495, 0, 0, 0, 0, 5502, 5503, 0, 5505, 5506, 5507, 5508, 5509, 5510, 5511, 0, 0, 0, 0, 0, 0, 0, 0, 800, 5520, 0, 2997, 0, 5523, 5524, 5525, 5526, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4533, 0, 0, 0, 5546, 4539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 734, 0, 2540, 0, 0, 0, 0, 0, 3279, 0, 0, 0, 0, 3800, 0, 3800, 3800, 3302, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 4620, 0, 0, 4623, 5628, 4625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3338, 0, 0, 0, 0, 0, 3350, 3350, 0, 0, 3350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4800, 0, 3368, 0, 4652, 3371, 4655, 0, 4657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5663, 0, 5664, 0, 0, 0, 0, 0, 0, 0, 1609, 1609, 1609, 1609, 1609, 0, 0, 0, 0, 1560, 0, 0, 1560, 0, 1560, 0, 0, 0, 0, 1560, 0, 5679, 0, 0, 0, 0, 0, 0, 0, 3424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 3443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 3465, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 3468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3512, 3350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3976, 0, 0, 4779, 0, 0, 0, 0, 0, 0, 0, 3547, 0, 0, 0, 0, 0, 0, 3560, 0, 1562, 0, 0, 1562, 0, 1562, 0, 0, 0, 0, 1562, 0, 0, 1560, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 5839, 5840, 5841, 1562, 0, 0, 5842, 5843, 5844, 5845, 0, 0, 0, 5847, 0, 0, 0, 0, 734, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 3649, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 5867, 5868, 5869, 5870, 5871, 0, 5873, 5874, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 5883, 5884, 1832, 1832, 1562, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 3711, 0, 0, 3713, 0, 0, 0, 0, 0, 0, 0, 5890, 0, 0, 0, 0, 0, 0, 0, 1609, 1609, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5953, 0, 1560, 0, 734, 0, 1562, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5041, 0, 0, 0, 2997, 0, 0, 1562, 0, 2997, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 2997, 2997, 0, 2997, 0, 0, 0, 0, 3788, 3788, 0, 4596, 0, 3788, 0, 0, 0, 2997, 0, 0, 2997, 0, 0, 0, 734, 2997, 0, 0, 0, 6007, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 2997, 2997, 2997, 2997, 0, 0, 0, 3788, 3788, 0, 2997, 1560, 1562, 0, 0, 6013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 2997, 0, 0, 1562, 0, 0, 0, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 5179, 0, 0, 0, 0, 0, 0, 0, 0, 5183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3759, 0, 0, 0, 3759, 3759, 0, 0, 0, 0, 3770, 0, 0, 0, 0, 0, 0, 0, 5201, 0, 5202, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5224, 5225, 5226, 0, 0, 0, 0, 0, 0, 6109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 5250, 6119, 1562, 5253, 0, 5255, 0, 6125, 6126, 0, 0, 0, 0, 0, 0, 2997, 0, 6137, 0, 0, 0, 0, 0, 5261, 6139, 0, 0, 1562, 0, 0, 0, 5268, 5269, 0, 0, 0, 0, 0, 5274, 0, 734, 0, 0, 1560, 0, 0, 734, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 6191, 6192, 0, 0, 5314, 0, 0, 0, 0, 0, 0, 0, 0, 6200, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5332, 0, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 3888, 0, 6253, 0, 5346, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 1876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6306, 1562, 0, 0, 0, 0, 0, 0, 1876, 1876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6333, 0, 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 2997, 2997, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 6392, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, 0, 4095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 4145, 0, 0, 0, 6500, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 5635, 5636, 0, 6513, 0, 0, 0, 0, 0, 0, 0, 5643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 1562, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 6552, 2997, 0, 0, 1560, 0, 0, 0, 0, 4223, 4224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5696, 0, 0, 0, 4596, 4596, 0, 0, 3788, 3788, 3788, 3788, 0, 3091, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 4596, 0, 0, 5714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 2997, 0, 2997, 0, 0, 4596, 4596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5733, 5735, 6627, 0, 0, 0, 0, 5739, 5740, 4347, 0, 0, 5741, 2997, 3788, 3788, 2997, 0, 2997, 5744, 0, 0, 5747, 5748, 0, 0, 0, 0, 0, 5753, 0, 0, 0, 0, 6639, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 6649, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1794, 0, 0, 0, 0, 0, 0, 0, 5810, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5886, 0, 0, 0, 1562, 0, 0, 5888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 5923, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 1876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6017, 0, 0, 0, 0, 0, 6021, 6022, 6023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6036, 6037, 0, 0, 6038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 6063, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 2997, 0, 0, 0, 6082, 4596, 4596, 4596, 4596, 0, 0, 0, 4596, 4596, 4596, 4596, 4596, 4596, 4596, 4596, 4596, 4596, 2997, 2997, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 2997, 0, 2997, 0, 0, 0, 0, 0, 2997, 0, 0, 4596, 4596, 0, 0, 2997, 2997, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3350, 1562, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 1560, 1560, 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6297, 0, 0, 0, 0, 0, 0, 0, 0, 5018, 5019, 5020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6340, 0, 0, 5054, 5056, 0, 0, 0, 5061, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4596, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 6376, 0, 1562, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 2997, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 6447, 0, 1832, 0, 0, 0, 0, 0, 0, 6454, 6454, 6454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 6502, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 2997, 0, 0, 0, 2997, 2997, 2997, 0, 0, 2997, 0, 0, 2997, 2997, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 5281, 5282, 5283, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6615, 0, 0, 2997, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 4596, 3788, 2997, 2997, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 2997, 2997, 0, 0, 0, 0, 0, 0, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6454, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3788, 3649, 0, 4596, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5757, 5758, 5759, 5760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 4596, 0, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3788, 0, 0, 0, 0, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4596, 0, 0, 4596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6175, 0, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 6399, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6422, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 828, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 835, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 860, 487, 488, 489, 861, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 887, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 890, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 894, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 1098, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 2194, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 2195, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 2196, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 2197, 0, 0, 0, 0, 0, 0, 1782, 2198, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 150, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 2538, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 6477, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 3790, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 5203, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 5271, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 3170, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 3171, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 3173, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 3175, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 3273, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 3170, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 3171, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 3173, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 3175, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 4405, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 3756, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 150, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 2538, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 150, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 2538, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 3796, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 3797, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 3798, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 3799, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, -2230, 349, 350, 351, 0, 0, 0, -2230, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, -2230, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, -2228, 349, 350, 351, 0, 0, 0, -2228, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, -2228, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 2494, 3732, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 1781, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 3101, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 3756, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 4281, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 3797, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 3853, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 5331, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 6451, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 6452, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 6453, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 6452, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 6453, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3104, 3105, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 5722, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 5734, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 6287, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 6288, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 6289, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 6290, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, -3597, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 6452, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 1730, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, -3597, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 0, 0, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, -3597, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 1749, 545, 546, 0, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 1757, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, -3597, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 6453, 686, 687, 0, 1767, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, -3597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 1780, 0, 0, 0, 0, 0, 0, 0, 1782, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 6272, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3782, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3783, 3784, 0, 0, 0, 0, 0, 0, 0, 3785, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 1709, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 1753, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3782, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3783, 3784, 0, 0, 0, 0, 0, 0, 0, 3785, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 0, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3926, 3927, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3928, 3929, 0, 0, 0, 0, 0, 0, 0, 3785, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 0, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3782, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 3785, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 0, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 5234, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3782, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 3785, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 0, 40, 1710, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 1711, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 1715, 1716, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 1731, 442, 443, 444, 445, 1732, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 1736, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 1750, 1751, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 3782, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 1764, 678, 1765, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 5765, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 3785, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 4677, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 4678, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 150, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 2538, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 4679, 786, 723, 724, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 4680, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 4677, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 4678, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 4679, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 4680, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 4360, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 4678, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 4679, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 161, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 5366, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 6558, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 6111, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 5292, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, -1826, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, -1826, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, -1826, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, -1826, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, -1826, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, -1826, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, -1826, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 1870, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 150, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 2538, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 160, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 161, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 146, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 150, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 2538, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 160, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 161, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 3344, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 3345, 3346, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 2246, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 4450, 4451, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 4451, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 1855, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 3960, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 4666, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 5782, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 1346, 40, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 1531, 1532, 378, 829, 379, 380, 381, 382, 0, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 0, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 1535, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 850, 447, 851, 448, 449, 450, 1536, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 0, 856, 0, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 862, 1540, 863, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 864, 865, 508, 0, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 4985, 0, 544, 869, 545, 546, 547, 548, 870, 0, 550, 1543, 552, 553, 554, 871, 555, 556, 872, 873, 4986, 558, 559, 874, 875, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 0, 580, 0, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 1547, 1548, 0, 888, 675, 676, 0, 678, 0, 889, 680, 681, 682, 683, 684, 685, 686, 687, 0, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 0, 1549, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 4987, 4988, 1357, 1358, 1359, 1360, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 1346, 40, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 1531, 1532, 378, 829, 379, 380, 381, 382, 0, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 0, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 1535, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 850, 447, 851, 448, 449, 450, 1536, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 0, 856, 0, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 862, 1540, 863, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 864, 865, 508, 0, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 5460, 0, 544, 869, 545, 546, 547, 548, 870, 0, 550, 1543, 552, 553, 554, 871, 555, 556, 872, 873, 4986, 558, 559, 874, 875, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 0, 580, 0, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 1547, 1548, 0, 888, 675, 676, 0, 678, 0, 889, 680, 681, 682, 683, 684, 685, 686, 687, 0, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 0, 1549, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 4987, 4988, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 1350, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 1351, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 1467, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 1468, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 1580, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 1581, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1582, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 2229, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 2230, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 4052, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 4053, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, 0, 0, 0, 1347, 1348, 1349, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 6090, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 828, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 835, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 860, 487, 488, 489, 861, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 887, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 890, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 894, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 2206, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 3170, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 3171, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 3172, 560, 561, 3173, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 3175, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 0, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 3176, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 1228, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 6528, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 1120, 343, 344, 345, 346, 347, 348, 1121, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 1122, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 1123, 451, 452, 0, 453, 0, 454, 1124, 0, 1125, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 1126, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 1127, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 1128, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 1129, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 1130, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 1131, 1132, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 1120, 343, 344, 345, 346, 347, 348, 1121, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 1156, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 1123, 451, 452, 0, 453, 0, 454, 1157, 0, 1125, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 1126, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 1127, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 1128, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 1129, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 1130, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 1131, 1132, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1634, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 1125, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 1126, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 1131, 1132, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1639, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 1125, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 1126, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 0, 0, 0, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 1131, 1132, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 780, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 1826, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 1197, 0, 740, 741, 742, 743, 744, 745, 746, 1198, 747, 748, 1827, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 1200, 0, 1201, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 1202, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1205, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1206, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 1208, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 828, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 835, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 860, 487, 488, 489, 861, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 887, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 890, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 894, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 828, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 835, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 860, 487, 488, 489, 861, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 887, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 890, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 894, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 4118, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 828, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 835, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 779, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 4119, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 860, 487, 488, 489, 861, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 880, 631, 632, 633, 634, 635, 881, 4120, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 887, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 890, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 894, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 1716, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 1719, 0, 1720, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 1732, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 1735, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 1739, 1740, 1741, 1742, 502, 503, 504, 505, 506, 507, 0, 0, 508, 1743, 510, 511, 512, 0, 513, 514, 515, 1744, 1745, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 1748, 544, 0, 545, 546, 547, 548, 0, 1751, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 1754, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 1755, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 1758, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 1760, 661, 0, 662, 663, 1761, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 1764, 678, 1765, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 1768, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 1770, 1771, 1772, 1773, 717, 1774, 1775, 1776, 1777, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 38, 39, 0, 1707, 1708, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 1712, 365, 1713, 1714, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1717, 1718, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1728, 1729, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 1733, 447, 0, 448, 449, 450, 1734, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 1538, 1737, 0, 1738, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1746, 533, 1747, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 1750, 549, 550, 1752, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1756, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 1759, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1762, 1763, 0, 0, 675, 676, 677, 678, 679, 1766, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 1769, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1521, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1572, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1586, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1590, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 3170, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 3171, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 3173, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 3175, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 3259, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 5086, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 3331, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 4882, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 6601, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 1537, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 1598, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 1545, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 3174, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 1528, 365, 1529, 1530, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1531, 1532, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 1533, 1534, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 1535, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 1536, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 1538, 1539, 0, 1540, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 1541, 533, 1542, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 1543, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 1544, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 0, 640, 641, 642, 643, 644, 1546, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 1547, 1548, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 1549, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 809, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 810, 755, 756, 757, 811, 0, 758, 759, 760, 761, 812, 813, 762, 763, 764, 0, 765, 814, 815, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 0, 0, 365, 0, 0, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 0, 378, 0, 379, 380, 381, 382, 0, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 779, 410, 0, 0, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 0, 442, 443, 444, 445, 0, 0, 447, 0, 448, 449, 450, 0, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 0, 0, 0, 465, 466, 0, 467, 468, 781, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 0, 0, 487, 488, 489, 0, 0, 0, 0, 0, 492, 493, 494, 495, 496, 497, 0, 0, 0, 0, 502, 503, 504, 505, 506, 507, 0, 0, 508, 0, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 0, 533, 0, 535, 536, 537, 538, 539, 540, 541, 0, 0, 544, 0, 545, 546, 547, 548, 0, 0, 550, 0, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 0, 563, 564, 565, 0, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 0, 580, 0, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 0, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 0, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 0, 640, 641, 642, 643, 644, 0, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 0, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 0, 0, 0, 0, 675, 676, 0, 678, 0, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 0, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 816, 349, 350, 351, 817, 818, 819, 820, 821, 822, 823, 352, 353, 354, 824, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 825, 368, 369, 370, 371, 372, 373, 374, 826, 827, 375, 376, 0, 377, 378, 829, 379, 380, 381, 382, 383, 830, 384, 831, 385, 386, 387, 388, 389, 390, 391, 392, 393, 832, 833, 394, 395, 396, 397, 398, 399, 834, 400, 401, 402, 0, 836, 837, 838, 404, 839, 840, 841, 406, 407, 408, 409, 0, 410, 411, 412, 413, 842, 414, 843, 415, 416, 417, 418, 419, 420, 421, 844, 422, 423, 424, 425, 845, 846, 426, 427, 428, 429, 430, 847, 431, 432, 433, 848, 434, 435, 436, 849, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 850, 447, 851, 448, 449, 450, 451, 452, 852, 453, 853, 454, 455, 456, 854, 457, 458, 459, 460, 461, 855, 462, 463, 856, 464, 465, 466, 857, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 858, 476, 477, 478, 479, 480, 481, 482, 483, 859, 484, 485, 486, 0, 487, 488, 489, 0, 490, 862, 491, 863, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 864, 865, 508, 509, 510, 511, 512, 866, 513, 514, 515, 867, 868, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 869, 545, 546, 547, 548, 870, 549, 550, 551, 552, 553, 554, 871, 555, 556, 872, 873, 557, 558, 559, 874, 875, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 876, 577, 578, 579, 580, 581, 582, 583, 584, 877, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 878, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 879, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 880, 631, 632, 633, 634, 635, 881, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 882, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 883, 662, 663, 884, 885, 664, 665, 666, 667, 668, 669, 670, 886, 671, 672, 673, 0, 888, 675, 676, 677, 678, 679, 889, 680, 681, 682, 683, 684, 685, 686, 687, 0, 891, 688, 689, 690, 691, 692, 892, 893, 693, 694, 695, 696, 697, 0, 698, 895, 699, 700, 701, 702, 703, 704, 896, 897, 705, 898, 899, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 3211, 379, 380, 381, 382, 383, 0, 0, 3280, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 3212, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 3281, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 3214, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 3282, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 3215, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 3216, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 3211, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 3212, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 3281, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 3214, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 4331, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 3215, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 3216, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1140, 349, 1141, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 1142, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 1185, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 1143, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 1144, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1140, 349, 1141, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 1142, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 4020, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 1143, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 1144, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 3211, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 3212, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 3281, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 3214, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 3215, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 3216, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 775, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 778, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 780, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1140, 349, 1141, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 1142, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 1143, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 1144, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 3513, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 3344, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 3345, 3346, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 1037, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1038, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 1039, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 1282, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 2446, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 2447, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 2448, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 2449, 454, 455, 0, 0, 0, 2450, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 2451, 2452, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 2453, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 2454, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 2455, 620, 621, 622, 623, 624, 625, 2456, 627, 628, 629, 784, 630, 0, 2457, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 2458, 664, 0, 2459, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 2460, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 1141, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 1142, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 1143, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 1144, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 3344, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 3345, 3346, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 2435, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 3881, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 3882, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 3145, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 3883, 664, 0, 666, 3884, 668, 3885, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 3886, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 802, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 780, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 984, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1384, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1385, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1510, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 4099, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 4100, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 4112, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 4113, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 1044, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 1101, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 339, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 1161, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1341, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1342, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1829, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2018, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 1220, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 2075, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2076, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 2307, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 2435, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 3145, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 5292, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 5306, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 5402, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 5474, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 5849, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 1167, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1169, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1171, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1172, 673, 0, 0, 1173, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1214, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1215, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1216, 673, 0, 0, 1217, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 1234, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1366, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1376, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1379, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1395, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1453, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1458, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1474, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1477, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1479, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1526, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1592, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1594, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1604, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1607, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 1610, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 1840, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 1841, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1205, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1833, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 1208, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 1949, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 1950, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1169, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2255, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2289, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2291, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2369, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2371, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 2373, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 2489, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 3126, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 0, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 3558, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 3562, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 3648, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 4031, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 4088, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 4102, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 4104, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 4252, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 4292, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 5587, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1205, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1833, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 1208, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1205, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 1833, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 3198, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 1208, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 3263, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 3264, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 3265, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 3341, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 3264, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 3265, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 3365, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 3264, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 3265, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 1199, 376, 1170, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 1203, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 1204, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1205, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 3264, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 1207, 673, 0, 0, 3265, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 1174, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 1209, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 740, 741, 742, 743, 744, 745, 746, 0, 747, 748, 0, 0, 749, 750, 751, 752, 753, 754, 0, 755, 756, 757, 0, 0, 758, 759, 760, 761, 0, 0, 762, 763, 764, 0, 765, 0, 0, 766, 767, 0, 0, 0, 768, 769, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, 0, 773, 774, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 0, 360, 361, 362, 363, 364, 0, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 776, 377, 378, 0, 379, 380, 381, 382, 383, 0, 0, 0, 385, 386, 387, 388, 389, 390, 0, 392, 393, 777, 0, 394, 395, 396, 397, 398, 399, 0, 0, 401, 402, 0, 0, 0, 0, 0, 0, 0, 0, 406, 407, 408, 409, 779, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 0, 0, 0, 458, 459, 460, 461, 0, 462, 463, 0, 464, 0, 466, 0, 467, 468, 781, 469, 470, 0, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 0, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 0, 0, 495, 0, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 0, 511, 0, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 782, 527, 528, 783, 529, 530, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 0, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 0, 564, 0, 566, 567, 568, 569, 570, 571, 572, 573, 0, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 0, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 0, 616, 617, 618, 619, 620, 621, 0, 623, 624, 625, 626, 627, 628, 629, 784, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 0, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 0, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 785, 698, 0, 699, 0, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 786, 723, 724, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1315, 1316, 6355, 0, 0, 0, 0, 0, 0, 6356, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 102, 103, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 146, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 150, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 157, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 159, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 1411, 0, 0, 160, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 2546, 0, 0, 2547, 0, 0, 161, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 0, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 0, 0, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 0, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 0, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 0, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 0, 0, 2687, 2688, 2689, 2690, 0, 2691, 2692, 2693, 2694, 2695, 0, 2696, 2697, 2698, 2699, 2700, 0, 2701, 2702, 0, 2703, 2704, 2705, 0, 2706, 2707, 0, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 0, 2734, 0, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 0, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 0, 2774, 2775, 0, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 0, 2804, 2805, 0, 2806, 2807, 2808, 2809, 2810, 0, 2811, 2812, 2813, 2814, 0, 0, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 0, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 0, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 0, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 0, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 0, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 0, 2962, 2963, 2964, 2965, 2966, 2967, 0, 2968, 0, 0, 0, 0, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 0, 2984, 2985, 0, 2986, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 3051, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 1315, 1316, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 3056, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 1315, 1316, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 4013, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 35, 339, 0, 0, 37, 0, 38, 39, 0, 0, 0, 0, 40, 1315, 1316, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 1316, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 102, 103, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 1411, 35, 339, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 674, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724, 35, 339, 0, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1370, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 1391, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 1392, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 3437, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 4493, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 2212, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 2213, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 2214, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 1486, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 1575, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 1588, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 403, 404, 0, 0, 405, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 1600, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 1601, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 3036, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 35, 723, 724, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 344, 345, 346, 347, 348, 0, 349, 350, 351, 0, 0, 0, 0, 0, 0, 0, 352, 353, 354, 0, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 0, 368, 369, 370, 371, 372, 373, 374, 0, 0, 375, 376, 0, 377, 378, 0, 379, 380, 381, 382, 383, 0, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, 0, 394, 395, 396, 397, 398, 399, 0, 400, 401, 402, 0, 0, 0, 0, 404, 0, 0, 0, 406, 407, 408, 409, 0, 410, 411, 412, 413, 0, 414, 0, 415, 416, 417, 418, 419, 420, 421, 0, 422, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 0, 431, 432, 433, 0, 434, 435, 436, 0, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, 0, 448, 449, 450, 451, 452, 0, 453, 0, 454, 455, 456, 0, 457, 458, 459, 460, 461, 0, 462, 463, 0, 464, 465, 466, 0, 467, 468, 0, 469, 470, 471, 472, 473, 474, 475, 0, 476, 477, 478, 479, 480, 481, 482, 483, 0, 484, 485, 486, 0, 487, 488, 489, 0, 490, 0, 491, 0, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 0, 0, 508, 509, 510, 511, 512, 0, 513, 514, 515, 0, 0, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 0, 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, 0, 555, 556, 0, 0, 557, 558, 559, 0, 0, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 0, 577, 578, 579, 580, 581, 582, 583, 584, 0, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 0, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 0, 630, 0, 631, 632, 633, 634, 635, 0, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 0, 662, 663, 0, 0, 664, 665, 666, 667, 668, 669, 670, 0, 671, 672, 673, 0, 0, 675, 676, 677, 678, 679, 0, 680, 681, 682, 683, 684, 685, 686, 687, 0, 0, 688, 689, 690, 691, 692, 0, 0, 693, 694, 695, 696, 697, 0, 698, 0, 699, 700, 701, 702, 703, 704, 0, 0, 705, 0, 0, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 0, 723, 724 }; static const yytype_int16 yycheck[] = { 2, 73, 73, 73, 73, 161, 73, 73, 73, 73, 73, 1406, 88, 73, 73, 73, 2, 73, 73, 1218, 73, 73, 73, 73, 115, 73, 117, 1008, 142, 1377, 949, 125, 2127, 1415, 305, 1252, 83, 305, 1658, 133, 1201, 987, 150, 152, 290, 136, 122, 1196, 1246, 928, 1248, 1578, 1545, 124, 2004, 124, 2066, 104, 944, 1378, 1233, 3216, 2487, 1326, 1054, 1404, 952, 114, 115, 955, 117, 1224, 2050, 1225, 2043, 88, 123, 1548, 154, 81, 3896, 1142, 1143, 1144, 2409, 949, 1975, 1148, 3506, 136, 1480, 1698, 1095, 807, 3717, 1410, 935, 3533, 1208, 2285, 2050, 1103, 3571, 3178, 3179, 1563, 4172, 4396, 1054, 122, 2520, 127, 114, 1533, 1534, 88, 2476, 119, 3950, 2510, 4092, 4369, 2055, 1543, 4065, 1290, 142, 1188, 141, 131, 3025, 3518, 1290, 1290, 147, 148, 1377, 2196, 2511, 1683, 4725, 154, 1469, 1687, 1008, 1386, 1690, 1691, 4118, 122, 4120, 3958, 2162, 2163, 2043, 1396, 4418, 2509, 1485, 3425, 808, 1107, 88, 3403, 1043, 1309, 1310, 1311, 104, 2092, 2093, 2494, 292, 2096, 5051, 2344, 88, 277, 84, 101, 86, 154, 989, 3960, 4318, 1338, 292, 2298, 1075, 4782, 141, 1078, 945, 5058, 1106, 4778, 122, 148, 3533, 1133, 1090, 954, 108, 1394, 4686, 5070, 2033, 1981, 1072, 2395, 122, 117, 1908, 1909, 1204, 968, 5074, 5057, 160, 1165, 147, 5804, 1343, 2156, 296, 296, 296, 296, 154, 296, 296, 296, 296, 296, 5019, 3019, 296, 296, 296, 5827, 296, 296, 154, 296, 296, 296, 296, 1368, 296, 125, 2183, 3816, 1373, 1006, 5062, 4860, 5618, 133, 1204, 1012, 3924, 5766, 2089, 5933, 1455, 3107, 1419, 3105, 1459, 3066, 5568, 1024, 3759, 1464, 3514, 1616, 5061, 1335, 4383, 2106, 1641, 1160, 1473, 3844, 3990, 1231, 1077, 3084, 1531, 1532, 1226, 338, 1763, 5613, 5847, 1249, 1487, 1243, 5371, 1542, 1091, 5782, 1565, 5784, 1249, 1285, 1286, 5969, 1728, 1729, 1368, 4685, 5981, 4687, 5963, 1373, 4747, 29, 6211, 5617, 9, 13, 76, 1037, 20, 4451, 83, 1098, 76, 2016, 5235, 3471, 1752, 3473, 3474, 76, 1527, 5890, 3478, 3479, 3480, 2264, 3482, 3483, 3484, 76, 148, 5626, 124, 76, 76, 6194, 76, 1287, 1288, 5168, 5169, 5170, 164, 5172, 5173, 5174, 5175, 5176, 83, 76, 5897, 5898, 76, 76, 108, 2482, 76, 91, 106, 70, 91, 13, 70, 919, 117, 85, 86, 75, 76, 76, 78, 79, 1449, 81, 76, 76, 155, 133, 85, 86, 115, 81, 188, 3964, 85, 86, 35, 133, 76, 105, 189, 113, 41, 42, 76, 133, 76, 85, 86, 48, 49, 76, 76, 85, 86, 54, 184, 238, 244, 191, 1625, 268, 102, 148, 63, 238, 65, 245, 67, 13, 161, 172, 113, 191, 73, 125, 107, 133, 244, 161, 189, 244, 189, 133, 70, 1624, 76, 133, 133, 75, 76, 6487, 78, 79, 251, 81, 133, 196, 28, 1344, 95, 4067, 1470, 1415, 70, 268, 5077, 99, 1717, 1718, 244, 91, 24, 133, 106, 81, 70, 222, 1198, 244, 1876, 75, 5922, 245, 69, 6093, 70, 81, 73, 365, 70, 76, 260, 6451, 6575, 75, 386, 244, 1747, 133, 1845, 81, 244, 273, 1429, 184, 146, 76, 244, 69, 70, 99, 253, 73, 6413, 75, 76, 244, 238, 405, 366, 81, 1512, 5406, 351, 5851, 268, 246, 386, 354, 1415, 442, 455, 2, 1426, 293, 204, 1858, 1430, 244, 1432, 379, 413, 83, 99, 6213, 412, 289, 187, 3890, 6109, 106, 330, 117, 6403, 70, 193, 35, 397, 1429, 75, 76, 330, 41, 42, 333, 81, 95, 3361, 182, 48, 49, 6059, 216, 209, 1420, 54, 216, 83, 193, 6764, 260, 497, 100, 83, 63, 122, 65, 6669, 67, 540, 99, 350, 118, 111, 73, 483, 236, 106, 184, 244, 1806, 5970, 1782, 121, 346, 194, 1368, 2267, 3950, 115, 244, 1373, 425, 2113, 1820, 141, 3958, 154, 211, 0, 674, 244, 385, 1783, 83, 143, 150, 2287, 189, 379, 355, 150, 520, 355, 102, 586, 462, 161, 5930, 6824, 738, 739, 148, 921, 1850, 1851, 921, 3441, 288, 408, 330, 1811, 290, 333, 526, 125, 115, 150, 150, 499, 150, 150, 586, 133, 6564, 674, 533, 446, 161, 150, 586, 583, 182, 93, 260, 290, 93, 446, 261, 426, 209, 350, 402, 150, 738, 739, 1677, 359, 527, 148, 121, 519, 583, 540, 283, 1636, 583, 426, 461, 93, 1641, 422, 499, 543, 6786, 442, 583, 1704, 187, 251, 281, 1630, 458, 6322, 485, 289, 6157, 93, 358, 4860, 4327, 1901, 363, 2045, 583, 6684, 540, 288, 251, 426, 6767, 497, 285, 303, 355, 5607, 540, 216, 586, 426, 426, 511, 423, 6412, 330, 4886, 543, 333, 426, 497, 523, 1704, 494, 807, 6654, 316, 437, 236, 439, 586, 1307, 583, 2096, 407, 583, 426, 446, 466, 481, 441, 502, 2019, 581, 586, 497, 5030, 585, 527, 521, 586, 1123, 521, 526, 573, 1127, 1128, 1129, 1585, 586, 558, 497, 426, 2194, 2195, 1137, 532, 5285, 530, 2492, 481, 583, 6651, 1886, 564, 565, 222, 4785, 2133, 194, 288, 6348, 586, 2146, 2147, 2441, 579, 5071, 5729, 521, 455, 4893, 502, 583, 466, 526, 573, 4899, 586, 583, 2077, 526, 6731, 465, 583, 917, 6204, 1614, 585, 583, 586, 95, 472, 473, 1840, 587, 583, 2192, 581, 963, 583, 583, 585, 583, 579, 526, 583, 496, 586, 1868, 448, 446, 586, 581, 2397, 586, 583, 4680, 1665, 583, 583, 5690, 485, 583, 513, 577, 574, 575, 6777, 558, 358, 586, 466, 6209, 519, 1682, 583, 6555, 1840, 528, 586, 583, 583, 6568, 564, 565, 1848, 1849, 917, 6554, 586, 586, 1699, 322, 5284, 583, 5286, 6583, 5345, 586, 465, 583, 3993, 583, 3995, 2448, 993, 993, 583, 583, 993, 993, 244, 993, 993, 2122, 586, 2460, 2125, 322, 1916, 519, 2265, 497, 1894, 2361, 928, 5077, 917, 583, 583, 6500, 1039, 1894, 536, 1107, 540, 322, 574, 575, 2077, 590, 586, 586, 6513, 209, 423, 465, 1843, 3134, 4353, 583, 526, 1848, 1849, 1907, 4212, 4213, 574, 575, 564, 4217, 251, 558, 497, 6462, 485, 2041, 2201, 497, 574, 575, 990, 3158, 1037, 917, 1039, 3162, 6656, 5121, 5122, 5123, 5124, 5125, 574, 575, 223, 427, 3899, 917, 1252, 583, 4980, 4570, 1110, 497, 497, 6086, 497, 497, 142, 1953, 194, 586, 574, 575, 95, 497, 496, 95, 1120, 437, 1122, 442, 1124, 5136, 2090, 99, 6319, 1106, 1130, 497, 4979, 6324, 6325, 513, 576, 577, 578, 579, 6408, 1155, 458, 2107, 289, 586, 1054, 1055, 1101, 442, 528, 1043, 1105, 4546, 346, 2422, 1156, 1157, 4770, 2406, 575, 2428, 6730, 112, 586, 289, 6660, 6661, 6627, 488, 5953, 576, 577, 578, 579, 574, 575, 576, 577, 578, 579, 2545, 3930, 1968, 289, 3929, 6390, 79, 220, 219, 1098, 2340, 2341, 24, 182, 488, 76, 2084, 517, 182, 133, 283, 107, 6407, 4350, 256, 1098, 368, 240, 2510, 3913, 1225, 590, 488, 289, 1241, 574, 575, 576, 577, 578, 579, 76, 542, 517, 455, 6411, 381, 93, 1241, 209, 244, 244, 209, 519, 6811, 2021, 194, 133, 246, 1043, 244, 517, 1257, 69, 1198, 2031, 1200, 73, 542, 4296, 91, 442, 1161, 2333, 268, 268, 287, 36, 5106, 38, 219, 235, 189, 583, 268, 420, 542, 1160, 5960, 122, 3961, 158, 76, 4745, 497, 289, 289, 194, 6690, 158, 1189, 76, 1202, 189, 6779, 289, 1206, 6556, 205, 583, 1199, 1104, 350, 205, 1203, 1204, 1205, 355, 95, 244, 455, 400, 2016, 5042, 101, 540, 2412, 583, 222, 1122, 6800, 1124, 425, 2084, 201, 4886, 266, 455, 168, 1334, 2542, 1134, 201, 5823, 381, 283, 2294, 1995, 2114, 194, 13, 2117, 2118, 365, 160, 289, 4318, 928, 370, 1122, 371, 1124, 455, 1156, 1157, 194, 1226, 289, 406, 1328, 573, 586, 5864, 371, 313, 586, 1160, 1200, 2211, 367, 540, 6851, 585, 420, 93, 398, 559, 341, 1202, 524, 328, 283, 1206, 1156, 1157, 521, 1285, 1286, 5767, 6565, 289, 1290, 3178, 142, 110, 1234, 93, 213, 1631, 2457, 2458, 1634, 583, 1226, 1637, 3280, 1639, 1290, 124, 1642, 250, 381, 93, 1646, 381, 95, 586, 6191, 536, 3249, 263, 101, 209, 2493, 2494, 268, 6200, 390, 283, 5615, 2500, 583, 1315, 1316, 230, 1408, 2506, 2507, 355, 4411, 189, 6203, 2512, 256, 283, 4677, 519, 100, 4680, 4782, 420, 2521, 2228, 420, 337, 521, 5601, 2527, 586, 6221, 346, 1344, 1043, 285, 180, 6202, 322, 256, 6223, 312, 585, 6176, 1382, 1383, 366, 371, 3783, 3784, 452, 6253, 5639, 3788, 371, 525, 355, 455, 6662, 450, 455, 2539, 586, 514, 513, 6175, 583, 3325, 5365, 93, 1408, 248, 2400, 6206, 426, 319, 3460, 80, 485, 384, 83, 3517, 355, 98, 87, 88, 89, 384, 1415, 521, 521, 3190, 189, 3828, 3829, 6205, 355, 365, 489, 521, 491, 209, 105, 138, 1415, 346, 1382, 1383, 2510, 2511, 1408, 1120, 426, 1122, 3135, 1124, 3137, 3269, 2520, 2447, 142, 1130, 4782, 2451, 2339, 6729, 458, 2529, 2456, 346, 3550, 2459, 2376, 355, 497, 189, 6740, 381, 282, 161, 928, 455, 355, 519, 368, 158, 161, 1156, 1157, 521, 586, 1160, 2364, 350, 2365, 587, 587, 1408, 442, 2323, 428, 521, 2248, 2422, 5296, 587, 381, 2379, 5300, 2428, 2382, 1408, 191, 350, 6778, 322, 6084, 2392, 355, 456, 2417, 448, 300, 366, 519, 490, 2375, 2376, 201, 460, 6392, 245, 7, 490, 521, 10, 11, 322, 220, 93, 93, 6805, 346, 284, 488, 420, 21, 22, 23, 189, 25, 26, 2518, 322, 6404, 30, 31, 32, 240, 13, 540, 398, 505, 6146, 253, 6148, 6830, 587, 346, 6152, 6153, 246, 991, 517, 1630, 371, 519, 414, 2450, 184, 455, 5343, 2454, 2455, 488, 184, 490, 93, 380, 573, 437, 2367, 519, 350, 110, 1043, 1503, 581, 542, 583, 584, 585, 586, 583, 397, 2381, 455, 584, 124, 586, 5565, 109, 540, 381, 293, 3569, 1285, 1286, 2394, 194, 504, 1290, 5043, 365, 525, 420, 1613, 1614, 291, 1616, 408, 168, 3012, 5087, 209, 442, 360, 351, 322, 583, 444, 1782, 1613, 1614, 183, 1616, 583, 1679, 525, 346, 1098, 346, 420, 237, 365, 260, 584, 442, 246, 587, 455, 260, 386, 455, 180, 366, 497, 360, 105, 2518, 366, 350, 1120, 442, 1122, 1344, 1124, 514, 1097, 437, 458, 488, 1130, 1131, 1132, 442, 587, 455, 1675, 1945, 6552, 3565, 1945, 386, 268, 3569, 3174, 5971, 97, 357, 2492, 199, 545, 488, 367, 182, 499, 182, 1156, 1157, 517, 384, 1160, 250, 3014, 247, 398, 1704, 3018, 488, 69, 120, 5042, 5043, 73, 330, 540, 402, 333, 408, 6308, 330, 517, 191, 273, 542, 583, 586, 95, 379, 6575, 519, 1633, 432, 1635, 5864, 1415, 1638, 517, 1640, 543, 6321, 1643, 1644, 1645, 586, 3910, 542, 442, 256, 24, 519, 108, 69, 439, 1656, 282, 73, 322, 322, 34, 1190, 586, 542, 1879, 1880, 583, 1882, 1863, 367, 1671, 2414, 1673, 5, 130, 464, 223, 6649, 1879, 1880, 586, 1882, 69, 134, 1826, 1827, 73, 1784, 583, 5050, 4860, 142, 24, 1896, 488, 1898, 1793, 521, 448, 393, 161, 49, 34, 247, 583, 80, 322, 490, 83, 5044, 395, 1808, 87, 88, 89, 500, 4886, 502, 525, 67, 346, 506, 514, 517, 6669, 181, 99, 3204, 189, 540, 189, 446, 1290, 4968, 540, 485, 420, 446, 4973, 346, 424, 6434, 209, 1840, 160, 192, 1843, 1844, 542, 583, 335, 1848, 1849, 521, 6726, 1313, 5006, 1315, 1316, 346, 581, 403, 1843, 249, 585, 139, 3060, 1848, 1849, 219, 583, 455, 1914, 160, 381, 284, 474, 527, 442, 442, 583, 249, 232, 300, 184, 35, 1344, 355, 238, 583, 540, 41, 42, 442, 436, 1826, 1827, 213, 571, 572, 573, 574, 575, 576, 577, 578, 579, 139, 450, 394, 1981, 260, 202, 420, 564, 271, 6496, 264, 444, 1916, 360, 360, 212, 73, 488, 488, 442, 214, 6212, 346, 316, 204, 255, 583, 483, 330, 485, 287, 333, 1907, 326, 6786, 455, 558, 486, 455, 386, 386, 316, 240, 6193, 1932, 1933, 517, 517, 381, 540, 1415, 6561, 6562, 260, 2093, 3118, 313, 2096, 316, 5296, 99, 583, 5771, 5300, 327, 488, 1981, 5776, 331, 208, 5779, 542, 542, 564, 330, 381, 1914, 1992, 1953, 1907, 1968, 275, 350, 346, 350, 436, 268, 420, 432, 355, 3157, 189, 443, 380, 517, 369, 319, 3157, 3157, 450, 5077, 192, 4564, 4565, 285, 362, 1981, 232, 192, 291, 76, 525, 583, 583, 371, 507, 3095, 380, 2033, 542, 485, 3371, 455, 330, 2098, 1953, 333, 157, 226, 2103, 187, 191, 95, 2021, 458, 486, 3279, 412, 101, 272, 83, 3533, 2152, 2031, 446, 380, 285, 83, 235, 455, 424, 425, 238, 1981, 437, 5998, 5681, 508, 381, 216, 583, 420, 425, 261, 250, 204, 586, 1981, 455, 586, 6665, 4498, 115, 264, 2089, 80, 520, 407, 83, 236, 264, 455, 268, 4645, 381, 367, 449, 3616, 313, 4516, 446, 2106, 3421, 416, 388, 519, 489, 420, 491, 3990, 4197, 424, 485, 2177, 234, 148, 469, 2181, 438, 4000, 115, 4082, 148, 346, 489, 6406, 491, 122, 305, 204, 455, 206, 6732, 420, 517, 2264, 2114, 2131, 3371, 2117, 2118, 288, 455, 293, 168, 2139, 583, 583, 497, 446, 583, 531, 517, 148, 73, 380, 209, 5567, 1613, 1614, 583, 1616, 350, 5591, 188, 4548, 513, 1843, 533, 381, 6424, 4554, 1848, 1849, 181, 488, 3409, 490, 2246, 4581, 4582, 4583, 4584, 21, 5992, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 1107, 5606, 6782, 4563, 223, 350, 4082, 5817, 583, 5819, 124, 3351, 5586, 420, 4553, 3443, 358, 6174, 4557, 4558, 497, 219, 4532, 3537, 3538, 3539, 3540, 217, 3542, 4275, 245, 521, 540, 512, 232, 4281, 584, 70, 531, 581, 238, 520, 584, 585, 523, 1916, 2246, 161, 455, 219, 3454, 3455, 3456, 3567, 326, 2228, 4653, 4654, 1165, 430, 4170, 6055, 232, 408, 279, 346, 558, 6226, 238, 5591, 497, 3204, 369, 263, 439, 128, 583, 439, 268, 294, 350, 6557, 412, 2272, 381, 239, 2246, 2276, 381, 287, 583, 583, 163, 583, 232, 310, 573, 1968, 4471, 4219, 238, 3349, 371, 3351, 571, 572, 573, 574, 575, 576, 577, 578, 579, 219, 381, 313, 3424, 287, 302, 449, 6248, 275, 312, 420, 1231, 327, 232, 420, 5555, 331, 5557, 424, 238, 2246, 3240, 206, 1243, 502, 3204, 420, 502, 5764, 189, 313, 4264, 198, 573, 2246, 18, 19, 2021, 191, 6155, 420, 496, 485, 365, 381, 585, 2417, 2031, 370, 455, 244, 362, 2508, 3239, 37, 3241, 3242, 40, 513, 2467, 371, 4721, 313, 445, 367, 292, 6655, 6199, 287, 296, 191, 2485, 5808, 528, 268, 455, 3240, 521, 238, 362, 1843, 232, 4392, 420, 416, 1848, 1849, 5823, 371, 5529, 533, 5531, 5532, 5533, 313, 424, 3399, 3236, 3401, 3590, 3890, 221, 3405, 431, 2406, 2476, 2476, 2409, 232, 2476, 2476, 362, 2476, 2476, 238, 408, 448, 238, 6666, 3592, 2406, 99, 532, 2409, 277, 5320, 455, 6493, 421, 5764, 2114, 420, 80, 2117, 2118, 83, 5771, 2090, 3152, 583, 381, 5776, 246, 362, 5779, 3903, 499, 422, 131, 437, 270, 581, 371, 485, 2107, 585, 277, 460, 451, 540, 3950, 537, 313, 1926, 3608, 442, 455, 115, 3958, 1932, 1933, 142, 2488, 5808, 122, 153, 280, 148, 156, 420, 169, 164, 470, 564, 162, 437, 3277, 439, 5823, 313, 161, 6307, 2568, 346, 471, 527, 3375, 350, 80, 3560, 148, 83, 513, 2505, 3383, 1968, 587, 3386, 540, 499, 586, 362, 190, 2419, 455, 2421, 325, 3519, 189, 2425, 191, 2427, 205, 3276, 2430, 346, 6498, 6499, 2434, 350, 513, 583, 564, 115, 5861, 161, 102, 238, 362, 80, 122, 350, 83, 448, 2228, 5981, 87, 88, 89, 587, 502, 583, 381, 543, 425, 2568, 245, 169, 2021, 562, 6808, 262, 2098, 129, 105, 540, 148, 2103, 2031, 217, 248, 574, 575, 576, 577, 578, 579, 248, 5905, 412, 485, 4001, 424, 261, 455, 95, 381, 416, 4998, 564, 279, 420, 80, 540, 513, 2568, 274, 573, 581, 87, 88, 89, 585, 540, 3757, 294, 277, 3360, 238, 585, 181, 586, 3785, 455, 326, 263, 449, 564, 586, 540, 268, 310, 527, 249, 3797, 420, 455, 564, 80, 238, 75, 83, 262, 245, 540, 217, 81, 340, 350, 587, 587, 2177, 2568, 564, 589, 2181, 5981, 273, 6620, 338, 160, 2114, 485, 262, 2117, 2118, 2568, 39, 564, 3832, 455, 364, 169, 115, 312, 586, 97, 279, 239, 540, 122, 497, 1372, 3676, 521, 3892, 365, 70, 583, 350, 4224, 263, 294, 6839, 355, 6841, 268, 3440, 81, 120, 316, 1391, 202, 564, 1394, 521, 148, 150, 310, 209, 533, 15, 212, 3876, 275, 6861, 3783, 3784, 161, 69, 70, 3788, 564, 565, 80, 586, 587, 83, 150, 367, 6055, 87, 88, 89, 285, 5150, 338, 398, 3991, 161, 312, 583, 581, 581, 583, 497, 585, 4832, 245, 105, 588, 5166, 431, 414, 370, 497, 6718, 564, 565, 4068, 291, 3828, 3829, 365, 584, 80, 327, 587, 83, 6228, 331, 4381, 87, 88, 89, 2228, 583, 448, 497, 69, 5910, 578, 279, 73, 80, 4094, 583, 83, 585, 576, 105, 87, 88, 89, 581, 367, 583, 294, 585, 5864, 497, 3901, 5408, 471, 3065, 583, 474, 3065, 6614, 5415, 3679, 5192, 108, 310, 485, 69, 70, 5198, 5199, 73, 586, 263, 460, 497, 590, 581, 268, 81, 105, 431, 4830, 587, 4832, 35, 584, 400, 367, 587, 4069, 41, 42, 338, 521, 6269, 502, 361, 48, 49, 3724, 365, 3726, 3727, 54, 514, 4822, 576, 527, 2310, 6088, 124, 581, 63, 583, 65, 585, 67, 6096, 6097, 4173, 540, 312, 73, 578, 489, 6199, 491, 5052, 583, 6491, 585, 3851, 381, 6308, 586, 2337, 4808, 502, 590, 460, 367, 359, 4770, 3721, 564, 2347, 582, 2349, 533, 514, 586, 582, 517, 2355, 445, 586, 170, 2359, 574, 575, 576, 577, 578, 583, 489, 4145, 491, 416, 584, 4515, 5984, 420, 6111, 139, 140, 562, 367, 6116, 6117, 33, 3796, 195, 3798, 3799, 303, 431, 291, 574, 575, 576, 577, 578, 579, 2531, 4866, 6269, 2534, 586, 587, 213, 576, 577, 578, 217, 2406, 583, 455, 2409, 3661, 342, 343, 344, 345, 462, 574, 575, 576, 577, 578, 3904, 329, 489, 582, 491, 583, 239, 585, 291, 6783, 243, 4359, 584, 502, 586, 6308, 6410, 187, 4447, 4448, 445, 584, 562, 586, 584, 258, 586, 291, 583, 3851, 4315, 581, 326, 583, 574, 575, 576, 577, 578, 579, 3067, 422, 584, 367, 586, 80, 216, 584, 83, 586, 460, 165, 87, 88, 89, 85, 86, 584, 4019, 586, 540, 583, 542, 585, 80, 5348, 236, 3904, 6842, 584, 326, 586, 571, 572, 573, 574, 575, 576, 577, 578, 579, 2502, 2503, 3043, 367, 204, 584, 206, 586, 584, 273, 586, 2513, 2514, 588, 3123, 5064, 70, 4046, 584, 470, 586, 3924, 367, 489, 584, 491, 586, 993, 470, 584, 230, 586, 584, 584, 586, 586, 6410, 288, 540, 470, 542, 355, 2544, 329, 571, 572, 573, 574, 575, 576, 577, 578, 579, 3206, 584, 3208, 586, 540, 584, 542, 586, 4046, 584, 584, 586, 586, 3152, 584, 4168, 586, 5059, 562, 5080, 4173, 584, 3190, 586, 103, 104, 3104, 3105, 437, 438, 574, 575, 576, 577, 578, 579, 379, 262, 4321, 406, 6568, 6551, 295, 584, 584, 586, 586, 3141, 3248, 584, 584, 586, 586, 584, 358, 586, 584, 489, 586, 491, 437, 438, 584, 3157, 586, 157, 3160, 3161, 584, 502, 586, 4783, 4784, 533, 584, 4787, 586, 129, 584, 3157, 586, 445, 3160, 3161, 584, 3190, 586, 1106, 1107, 342, 343, 344, 345, 586, 587, 4677, 349, 350, 4680, 5080, 303, 584, 355, 586, 584, 448, 586, 584, 589, 586, 3204, 437, 438, 571, 572, 573, 574, 575, 576, 577, 578, 579, 291, 437, 438, 3190, 3204, 584, 584, 586, 586, 6659, 583, 4016, 4017, 81, 584, 6665, 586, 564, 565, 6568, 485, 3311, 584, 3345, 586, 584, 584, 586, 586, 540, 483, 542, 571, 572, 573, 574, 575, 576, 577, 578, 579, 584, 3269, 586, 584, 3335, 586, 3263, 5830, 5831, 3190, 571, 572, 573, 574, 575, 576, 577, 578, 579, 531, 584, 527, 586, 3190, 204, 584, 206, 586, 584, 496, 586, 4347, 6265, 6266, 540, 367, 584, 4782, 586, 3307, 584, 365, 586, 3311, 442, 584, 513, 586, 583, 3398, 5715, 584, 2, 586, 4624, 584, 129, 586, 564, 1241, 584, 528, 586, 584, 584, 586, 586, 3335, 584, 6659, 586, 584, 5422, 586, 584, 6665, 586, 583, 4323, 3307, 4325, 6457, 6458, 3311, 3341, 584, 586, 586, 504, 533, 3358, 6782, 4767, 118, 584, 4502, 586, 80, 560, 515, 83, 293, 585, 3434, 87, 88, 89, 3335, 3365, 584, 4368, 586, 584, 584, 586, 586, 4162, 368, 365, 584, 4714, 586, 4323, 584, 4325, 586, 3307, 584, 238, 586, 3311, 81, 365, 584, 3375, 586, 560, 4183, 88, 584, 3307, 586, 3383, 368, 3311, 3386, 118, 584, 4576, 586, 584, 584, 586, 586, 3335, 584, 106, 586, 560, 584, 6570, 586, 293, 243, 114, 4410, 3434, 5400, 3335, 3500, 576, 584, 122, 586, 584, 3432, 586, 584, 586, 586, 80, 584, 4610, 83, 584, 4755, 586, 87, 88, 89, 583, 141, 6782, 108, 352, 584, 129, 147, 148, 4318, 244, 584, 3141, 586, 154, 584, 3434, 586, 584, 4410, 586, 584, 3469, 586, 3471, 130, 3473, 3474, 3157, 289, 289, 3478, 3479, 3480, 583, 3482, 3483, 3484, 5103, 4487, 587, 4563, 3500, 576, 584, 4663, 586, 589, 589, 571, 572, 573, 574, 575, 576, 577, 578, 579, 285, 4581, 4582, 4583, 4584, 3434, 215, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 3204, 181, 3434, 584, 584, 586, 586, 3500, 584, 584, 586, 586, 108, 584, 3536, 586, 4689, 4800, 4615, 351, 352, 584, 584, 586, 586, 448, 584, 4338, 586, 4340, 129, 285, 5042, 5043, 584, 584, 586, 586, 584, 3561, 586, 291, 3025, 291, 584, 584, 586, 586, 584, 5301, 586, 5303, 446, 1896, 3500, 1898, 4653, 4654, 497, 333, 586, 583, 485, 544, 80, 6010, 585, 83, 3500, 583, 583, 87, 88, 89, 420, 268, 224, 583, 224, 365, 585, 268, 365, 420, 3606, 204, 224, 206, 224, 105, 6020, 271, 268, 224, 3661, 365, 3692, 238, 69, 115, 80, 420, 73, 83, 527, 6780, 122, 224, 587, 3785, 311, 230, 191, 521, 365, 4954, 448, 540, 583, 367, 4831, 3104, 3105, 359, 4523, 96, 238, 142, 584, 350, 108, 108, 148, 350, 544, 115, 583, 365, 350, 118, 350, 564, 122, 118, 507, 350, 160, 327, 381, 533, 533, 331, 130, 485, 157, 502, 3832, 238, 401, 3692, 583, 584, 588, 224, 587, 224, 346, 583, 148, 224, 530, 3375, 583, 3679, 3157, 394, 295, 3160, 3161, 3383, 583, 224, 3386, 1630, 107, 583, 544, 224, 224, 160, 224, 586, 224, 224, 3398, 527, 224, 224, 224, 3692, 380, 224, 367, 181, 224, 238, 224, 4518, 540, 365, 485, 3807, 224, 224, 583, 108, 311, 3813, 365, 238, 76, 3204, 583, 342, 343, 344, 345, 4964, 238, 5638, 349, 76, 564, 583, 5247, 583, 355, 217, 238, 583, 583, 583, 583, 214, 583, 425, 3692, 263, 76, 76, 583, 583, 268, 583, 583, 3884, 3885, 3886, 583, 583, 3692, 583, 583, 583, 1711, 4976, 583, 583, 583, 449, 248, 583, 583, 583, 3807, 291, 292, 76, 3954, 583, 3813, 3533, 583, 263, 1731, 583, 5296, 357, 268, 469, 5300, 583, 583, 271, 583, 583, 312, 268, 103, 104, 541, 583, 583, 583, 275, 3288, 583, 233, 377, 172, 586, 108, 311, 289, 3807, 586, 289, 291, 108, 586, 3813, 238, 362, 571, 572, 573, 574, 575, 576, 577, 578, 579, 312, 238, 455, 1782, 360, 353, 576, 285, 188, 520, 6272, 573, 586, 13, 586, 138, 583, 327, 584, 367, 583, 331, 370, 132, 583, 497, 587, 584, 497, 3807, 442, 168, 497, 532, 442, 3813, 346, 497, 497, 585, 497, 313, 442, 3807, 149, 497, 573, 497, 161, 3813, 3904, 188, 497, 504, 442, 367, 224, 447, 167, 497, 3375, 365, 308, 497, 515, 355, 3904, 197, 3383, 4998, 380, 3386, 497, 520, 571, 572, 573, 574, 575, 576, 577, 578, 579, 3398, 488, 388, 223, 386, 365, 360, 3928, 3929, 437, 583, 497, 261, 583, 161, 497, 197, 1879, 1880, 586, 1882, 5576, 381, 268, 224, 497, 197, 183, 521, 460, 497, 521, 425, 497, 497, 497, 228, 497, 497, 197, 497, 497, 129, 497, 674, 129, 432, 497, 335, 405, 80, 369, 497, 83, 405, 405, 449, 87, 88, 89, 3679, 4860, 386, 5313, 488, 460, 117, 386, 117, 584, 586, 365, 4886, 265, 497, 105, 469, 497, 497, 588, 5965, 497, 291, 291, 497, 115, 497, 4886, 5338, 497, 497, 497, 122, 291, 291, 365, 482, 291, 291, 497, 291, 291, 291, 507, 291, 583, 108, 224, 365, 4046, 224, 350, 189, 224, 224, 532, 308, 224, 148, 521, 319, 365, 350, 350, 350, 5233, 512, 108, 108, 238, 583, 562, 444, 303, 520, 107, 224, 523, 495, 583, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6094, 495, 497, 584, 80, 497, 224, 83, 588, 350, 521, 224, 224, 583, 585, 13, 244, 5591, 562, 521, 581, 4118, 4119, 4120, 583, 359, 497, 581, 586, 354, 574, 575, 576, 577, 578, 579, 584, 583, 4124, 115, 536, 382, 335, 335, 83, 495, 122, 416, 497, 583, 583, 5138, 5139, 5140, 5141, 5142, 586, 253, 3605, 3606, 583, 4118, 4119, 4120, 376, 586, 244, 499, 586, 584, 261, 261, 148, 287, 3890, 5236, 573, 458, 300, 448, 366, 521, 108, 424, 263, 426, 521, 33, 429, 268, 9, 374, 129, 586, 532, 4181, 521, 438, 586, 584, 5333, 583, 355, 300, 355, 300, 447, 442, 4118, 4119, 4120, 497, 291, 292, 455, 497, 485, 497, 583, 238, 355, 365, 4118, 4119, 4120, 118, 467, 5288, 311, 5077, 350, 464, 3679, 312, 3950, 476, 3904, 311, 917, 480, 365, 217, 3958, 311, 329, 497, 437, 197, 365, 5024, 5025, 268, 586, 586, 365, 365, 935, 4317, 527, 488, 365, 455, 531, 420, 4250, 944, 945, 540, 262, 497, 452, 540, 371, 952, 353, 954, 955, 408, 108, 497, 584, 5144, 291, 303, 573, 404, 224, 263, 367, 968, 5764, 370, 268, 360, 535, 564, 238, 5771, 521, 6693, 521, 533, 5776, 108, 6698, 5779, 486, 4399, 987, 4384, 4296, 240, 405, 583, 583, 224, 583, 224, 452, 224, 4317, 223, 4308, 4309, 360, 540, 521, 1006, 350, 108, 365, 4385, 4318, 1012, 5808, 350, 312, 4323, 97, 4325, 365, 4395, 303, 259, 360, 1024, 577, 259, 4318, 5823, 238, 108, 239, 4384, 560, 581, 6229, 584, 4433, 5324, 4317, 560, 5537, 333, 452, 1044, 238, 584, 584, 303, 584, 584, 365, 350, 268, 1054, 268, 268, 268, 4433, 1059, 460, 268, 586, 586, 1064, 586, 585, 4374, 1068, 1069, 367, 544, 129, 497, 583, 1075, 586, 1077, 1078, 244, 332, 4433, 365, 359, 586, 584, 4317, 584, 584, 4502, 1090, 1091, 540, 561, 244, 584, 371, 526, 1098, 584, 4317, 584, 4409, 4410, 586, 377, 204, 1107, 584, 584, 4661, 244, 497, 584, 584, 584, 583, 387, 584, 321, 584, 326, 584, 586, 584, 349, 563, 537, 519, 537, 560, 3899, 583, 6533, 3902, 537, 3904, 527, 583, 583, 365, 583, 129, 365, 4451, 573, 273, 368, 573, 365, 224, 587, 497, 497, 355, 5324, 281, 227, 497, 586, 3928, 3929, 562, 460, 586, 1165, 497, 350, 224, 584, 583, 571, 572, 573, 574, 575, 576, 577, 578, 579, 474, 584, 583, 447, 584, 2417, 5981, 583, 5496, 5497, 5556, 5499, 224, 455, 224, 1195, 1196, 311, 4659, 447, 273, 447, 1202, 227, 1204, 365, 1206, 573, 497, 521, 227, 442, 537, 388, 313, 388, 518, 227, 497, 4680, 497, 323, 471, 497, 497, 442, 1226, 323, 323, 5413, 497, 1231, 4523, 1233, 5756, 197, 4617, 350, 442, 108, 497, 497, 442, 1243, 2476, 442, 497, 224, 582, 455, 117, 584, 497, 497, 497, 4669, 4670, 4671, 4672, 497, 6055, 130, 497, 497, 584, 562, 584, 256, 291, 291, 586, 584, 369, 584, 238, 507, 2508, 574, 575, 576, 577, 578, 579, 5786, 118, 1285, 1286, 156, 182, 584, 586, 238, 584, 583, 2526, 108, 224, 224, 5802, 4617, 6132, 5397, 6134, 497, 573, 238, 360, 256, 224, 238, 442, 521, 181, 182, 442, 583, 582, 452, 583, 4626, 189, 442, 521, 442, 442, 586, 222, 222, 1328, 4318, 291, 291, 291, 5715, 291, 291, 291, 291, 291, 4617, 291, 581, 215, 295, 428, 4721, 4721, 365, 129, 4721, 4721, 365, 4721, 4721, 365, 83, 365, 586, 377, 244, 532, 349, 514, 244, 584, 514, 584, 253, 428, 526, 494, 159, 238, 507, 564, 108, 521, 521, 6303, 248, 303, 584, 1382, 1383, 281, 583, 4617, 573, 584, 584, 497, 5487, 573, 6318, 586, 586, 584, 586, 129, 584, 4617, 583, 271, 488, 6199, 224, 1406, 1407, 1408, 156, 471, 248, 447, 507, 497, 1415, 227, 442, 497, 420, 1420, 497, 497, 584, 583, 1425, 1426, 442, 497, 584, 1430, 584, 1432, 129, 540, 583, 1436, 488, 527, 6364, 6365, 238, 148, 365, 224, 182, 584, 291, 507, 291, 291, 291, 1452, 583, 300, 276, 6143, 497, 327, 5963, 583, 583, 331, 544, 365, 108, 586, 584, 386, 507, 363, 586, 583, 365, 6269, 114, 5942, 346, 4859, 80, 4861, 350, 586, 2715, 497, 452, 250, 182, 5584, 251, 583, 582, 584, 244, 584, 1495, 291, 1497, 1498, 213, 355, 4900, 584, 355, 4885, 355, 355, 584, 244, 129, 538, 380, 4911, 6308, 586, 377, 584, 584, 538, 584, 584, 386, 301, 301, 294, 583, 294, 375, 257, 584, 583, 583, 129, 372, 4523, 584, 4854, 487, 5824, 573, 360, 4859, 507, 4861, 5120, 1545, 494, 5120, 6026, 540, 4318, 497, 244, 4860, 148, 275, 425, 262, 262, 355, 129, 355, 6040, 488, 142, 573, 497, 4885, 224, 4860, 586, 497, 227, 4341, 586, 291, 4854, 497, 497, 4886, 449, 4859, 584, 4861, 583, 1585, 196, 246, 108, 189, 5876, 268, 452, 360, 4901, 4886, 108, 4904, 583, 4906, 469, 6526, 471, 240, 521, 474, 350, 4885, 223, 452, 360, 129, 154, 1613, 1614, 6410, 1616, 488, 108, 540, 244, 238, 365, 4854, 1624, 540, 415, 278, 4859, 368, 4861, 289, 244, 468, 129, 526, 539, 4854, 6020, 583, 4677, 586, 4859, 4680, 4861, 4952, 584, 584, 584, 6127, 6128, 583, 5876, 583, 4885, 5824, 294, 161, 445, 205, 584, 4968, 365, 6045, 269, 1665, 4973, 80, 4885, 6356, 83, 584, 583, 583, 414, 584, 4444, 584, 108, 497, 1680, 224, 1682, 4451, 5875, 224, 6611, 6612, 497, 238, 108, 355, 521, 5068, 583, 5864, 4987, 4988, 324, 1699, 583, 583, 115, 583, 1704, 583, 583, 5876, 583, 122, 584, 583, 182, 224, 583, 1715, 108, 452, 244, 369, 584, 6374, 507, 584, 466, 466, 573, 272, 238, 5920, 584, 108, 151, 181, 526, 148, 536, 261, 583, 488, 6048, 238, 488, 346, 521, 4782, 273, 583, 76, 1749, 583, 6059, 583, 583, 365, 4523, 584, 231, 544, 583, 438, 142, 5137, 438, 368, 5072, 142, 205, 540, 5865, 5077, 5152, 587, 6568, 540, 210, 536, 525, 1778, 1779, 1780, 80, 1782, 584, 583, 583, 5077, 108, 526, 235, 583, 235, 455, 105, 1794, 586, 586, 325, 488, 244, 355, 488, 1802, 411, 217, 6283, 275, 365, 365, 583, 452, 108, 6290, 108, 5121, 5122, 5123, 5124, 5125, 269, 368, 368, 583, 246, 246, 583, 223, 220, 6136, 586, 437, 583, 493, 129, 5152, 129, 129, 497, 583, 475, 1840, 3073, 194, 1843, 76, 519, 452, 210, 1848, 1849, 263, 105, 584, 5144, 584, 268, 583, 372, 108, 421, 5167, 5168, 5169, 5170, 6659, 5172, 5173, 5174, 5175, 5176, 6665, 4860, 493, 583, 5152, 94, 437, 586, 6129, 586, 373, 1881, 355, 437, 583, 1885, 1886, 351, 455, 244, 6272, 3123, 6143, 151, 583, 497, 351, 4886, 223, 312, 466, 1901, 466, 189, 586, 527, 540, 1907, 540, 246, 583, 4900, 526, 246, 527, 583, 1916, 584, 296, 5991, 2180, 5152, 4911, 521, 1383, 1849, 3320, 526, 3904, 4094, 3409, 4859, 95, 1340, 4834, 5152, 6517, 3435, 101, 3489, 4309, 5918, 6354, 6635, 5363, 5965, 5022, 4832, 6635, 5546, 4832, 5941, 4023, 1953, 367, 3666, 6497, 6323, 5823, 6143, 5335, 5336, 6623, 6384, 6383, 6537, 6659, 4027, 5591, 5043, 5069, 5054, 6280, 6328, 3503, 1975, 3503, 1382, 5012, 4854, 4119, 1981, 5038, 146, 4357, 1378, 5585, 6782, 4756, 5948, 4404, 5105, 1992, 6241, 6741, 1995, 6474, 6854, 6476, 1999, 6835, 5932, 6549, 4317, 5076, 5042, 5043, 5878, 5407, 2258, 5317, 6114, 6337, 5320, 5321, 5881, 120, 989, 5417, 133, 4491, 1666, 5149, 5152, 6083, 6737, 3519, 4000, 2302, 5320, 3179, 5080, 2299, 2033, 6320, 2320, 4415, 5991, 2375, 202, 6229, 5348, 1088, 2043, 4251, 3434, 209, 460, 1055, 212, 6554, 4885, 4170, 6786, 6575, 1219, 5111, 5348, 3465, 5113, 1999, 2211, 3085, 6802, 5337, 4752, 6080, 6490, 3650, 5191, 1820, 3921, 3121, 3936, 4693, 3095, 239, 6606, 6478, 1889, 2080, 1888, 1627, 6465, 5318, 3120, 4680, 5285, 5077, 2089, 5302, 6056, 4860, 4677, 1867, 6269, 6268, 4753, 4677, 6790, 6600, 6696, 6024, 6465, 4619, 6356, 2106, 3003, 5790, 6479, 3874, 6480, 275, 2113, 3004, 3856, 2522, 3737, 4886, 3464, 35, 1891, 5413, 6823, 39, 3854, 41, 42, 3844, 3771, 4556, 3009, 4900, 48, 49, 4430, 674, 1507, 3579, 54, 2312, 3141, 6444, 4911, 129, 306, 1308, 3132, 63, 562, 65, 6320, 67, 68, 1679, 5144, 71, 1100, 73, 1288, 1909, 574, 575, 576, 577, 578, 579, 3157, 1903, 3149, 3898, 3150, 1288, 4759, 1823, 5319, 4718, 4760, 2178, 336, 3161, 3662, 2439, 346, 2, 5802, -1, 350, -1, -1, 1613, 1133, -1, -1, 2194, 2195, 2196, 360, -1, -1, -1, -1, -1, -1, -1, -1, 369, -1, -1, 5516, 5517, 2211, -1, -1, 6596, -1, -1, -1, 381, 4987, 4988, -1, 5529, 2223, 5531, 5532, 5533, -1, -1, -1, -1, -1, -1, -1, 2234, -1, -1, -1, -1, -1, -1, -1, -1, 6721, -1, -1, 2246, 5565, 2248, -1, 2250, -1, -1, -1, -1, -1, -1, 420, -1, 5296, 423, 424, -1, 5300, -1, -1, 6517, -1, -1, 2269, -1, -1, 187, -1, -1, -1, -1, 2277, -1, -1, -1, -1, -1, -1, -1, 2285, -1, 5565, -1, -1, 5597, -1, 455, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, 2304, -1, -1, -1, -1, 5077, -1, 6693, -1, 6504, -1, 6837, 6698, -1, -1, -1, 2320, 236, -1, 2323, -1, -1, 2326, -1, -1, -1, 5637, -1, -1, 2333, 5565, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, 5565, 6827, -1, 2351, -1, 5121, 5122, 5123, 5124, 5125, 6724, 6725, -1, 524, -1, -1, 2364, 2365, -1, 2367, 2368, -1, -1, -1, -1, 288, -1, -1, 5144, -1, -1, 2379, -1, 2381, 2382, 5690, 6635, 6576, 6577, -1, -1, -1, -1, 2391, 2392, -1, 2394, 2395, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2406, -1, 35, 2409, -1, -1, 39, -1, 41, 42, -1, -1, 5407, -1, -1, 48, 49, -1, 5413, -1, -1, 54, 5417, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, -1, 358, 71, -1, 73, -1, -1, -1, 2450, -1, -1, -1, 2454, 2455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, 2493, 2494, -1, -1, -1, -1, 2499, 2500, 5792, -1, -1, -1, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, -1, -1, 2515, -1, 2517, 115, 2519, 2520, 2521, 2522, 2523, 2524, 122, -1, 2527, -1, 2529, 2530, -1, -1, 2533, 5915, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, 2548, 2549, 2550, 148, 5320, 3785, 5591, -1, -1, 5864, -1, -1, 187, -1, 5958, -1, -1, -1, 2566, 5980, 2568, -1, -1, 5946, -1, 5864, -1, -1, -1, -1, -1, -1, 5348, 496, -1, -1, 5959, -1, -1, -1, -1, 216, 5801, -1, -1, -1, -1, -1, -1, 5915, 513, -1, 3832, -1, 5977, 5910, -1, -1, 5958, -1, -1, 236, -1, -1, 5919, 528, 5991, 5991, 5991, 5991, -1, 5991, 5991, 5991, 5991, 5991, 3856, -1, 5991, 5991, 5991, -1, 5991, 5991, -1, 5991, 5991, 5991, 5991, 5915, 5991, 5407, 3872, -1, -1, -1, -1, 5413, -1, -1, -1, 5417, -1, -1, -1, 6844, 6845, -1, -1, -1, 3890, -1, -1, 288, -1, -1, -1, -1, 263, -1, -1, -1, -1, 268, -1, -1, -1, -1, 5444, 5445, -1, -1, -1, 5449, 5450, -1, 5915, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, 95, 5915, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, 2710, -1, -1, -1, -1, 312, -1, -1, 3950, -1, -1, -1, 3954, -1, -1, 93, 3958, 5764, -1, -1, 98, 358, -1, -1, 5771, -1, -1, -1, -1, 5776, -1, -1, 5779, -1, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, 353, 2757, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, 367, 5808, -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, 150, -1, -1, -1, 5823, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, 165, -1, -1, -1, -1, -1, -1, 202, -1, -1, -1, -1, -1, 2810, 209, -1, -1, 212, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6201, -1, -1, 6290, -1, -1, -1, -1, -1, -1, 6143, -1, -1, 207, 6147, 239, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, 6143, -1, -1, -1, 6174, -1, -1, 227, -1, -1, -1, 460, -1, -1, -1, -1, -1, 496, -1, -1, 240, -1, -1, 5864, -1, 275, 246, -1, -1, -1, -1, -1, -1, -1, 513, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6174, -1, -1, -1, -1, 528, -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6305, -1, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, 6174, 5981, -1, -1, -1, 346, -1, -1, -1, 350, -1, -1, -1, -1, 6174, 326, -1, -1, -1, 360, -1, -1, 562, -1, -1, -1, -1, -1, 369, -1, 6354, 571, 572, 573, 574, 575, 576, 577, 578, 579, 381, -1, -1, -1, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, -1, 2997, -1, 367, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3009, -1, -1, 3012, -1, -1, -1, -1, -1, 6055, -1, -1, -1, 420, 391, 5792, 423, 424, -1, -1, -1, -1, -1, -1, 401, 402, -1, 6354, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6356, -1, -1, -1, 6360, -1, 6362, -1, 455, -1, 6366, 6367, -1, -1, -1, 432, -1, -1, 435, 3068, -1, -1, 439, 3072, -1, 442, 3075, 6354, 3077, -1, -1, 3080, 449, -1, -1, 452, 6466, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3095, 5864, -1, -1, -1, -1, -1, -1, 471, 3104, 3105, -1, -1, -1, -1, 478, -1, -1, -1, -1, -1, -1, 485, -1, -1, 488, -1, -1, 6354, 492, -1, 524, -1, -1, -1, -1, -1, 500, -1, 502, -1, -1, 6354, -1, 507, -1, 3141, -1, -1, -1, -1, -1, -1, 6466, -1, -1, -1, -1, 4385, 6143, -1, -1, -1, -1, -1, 3160, 3161, 6199, 4395, -1, 533, -1, 3167, -1, -1, -1, -1, -1, -1, 3174, 6550, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, 3185, -1, -1, 6466, -1, 3190, 3191, 95, -1, -1, 3195, -1, -1, 101, 6575, 6575, 4433, -1, 6575, 3204, -1, 6575, 6575, 6669, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222, -1, -1, 3225, -1, -1, -1, -1, -1, -1, 6269, -1, -1, 6466, 3236, -1, 3238, 3239, -1, 3241, 3242, 146, 3244, -1, -1, -1, -1, 6466, 3, -1, -1, -1, -1, 8, 3256, -1, -1, 12, -1, 14, 6251, 16, 17, -1, -1, -1, -1, 3269, -1, 6308, -1, -1, 27, -1, 3276, 3277, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, -1, 43, 44, -1, 6669, 6669, -1, -1, 6669, -1, 202, 6669, 6669, -1, -1, -1, -1, 209, 3307, 3308, 212, -1, 3311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6635, -1, -1, -1, -1, 3333, -1, 3335, 239, 90, -1, 3339, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, 103, 104, -1, 3353, -1, -1, -1, -1, 3358, -1, 3360, 3361, -1, 3363, -1, -1, -1, -1, 121, 3369, -1, -1, 275, 6410, -1, 6143, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3389, 143, -1, 145, 146, -1, 3395, -1, -1, -1, 152, -1, 154, 3402, -1, -1, -1, -1, -1, 6789, -1, 6786, 6786, -1, 166, 6786, 168, 3416, 6786, 6786, -1, -1, -1, -1, -1, -1, -1, -1, 4659, -1, 3429, 183, -1, 185, -1, 3434, 188, -1, -1, -1, -1, 3440, 3441, -1, 346, -1, 4677, -1, 350, 4680, -1, 203, -1, 205, -1, 6835, -1, 209, 360, 3458, 3459, 3460, -1, 215, -1, 3464, -1, 369, -1, -1, -1, 223, 6789, 225, 6854, -1, -1, -1, -1, 381, 232, -1, -1, 6789, 6251, -1, -1, -1, 6794, -1, 4721, -1, 3491, 3492, -1, -1, -1, -1, 250, 6789, -1, 3500, -1, -1, -1, -1, -1, -1, 3507, -1, -1, -1, 6789, -1, -1, 267, -1, 3516, 6835, -1, -1, 423, 424, -1, -1, -1, -1, -1, -1, 6835, -1, -1, 6568, -1, 3533, -1, -1, 6854, -1, -1, -1, -1, -1, -1, -1, 6835, -1, 3546, 6854, -1, -1, 6857, -1, 455, -1, -1, -1, -1, 6835, 6789, -1, -1, 314, 315, 6854, -1, 3565, -1, 320, -1, 3569, -1, -1, 6789, -1, -1, -1, 6854, -1, 6346, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, 352, -1, -1, -1, -1, 6835, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6835, -1, -1, 524, 6659, 6854, -1, -1, -1, -1, 6665, -1, -1, -1, -1, 80, -1, -1, 83, 6854, -1, -1, 87, 88, 89, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, 105, -1, -1, -1, -1, 416, 417, -1, 419, -1, 115, -1, -1, 424, -1, -1, -1, 122, 80, 430, -1, 83, 433, -1, -1, 87, 88, 89, -1, 440, -1, -1, 3690, -1, 3692, -1, 447, 448, -1, -1, -1, -1, -1, 148, 455, -1, -1, -1, 459, -1, 3708, -1, 3710, 115, -1, -1, -1, -1, 469, 3717, 122, -1, -1, 3721, -1, 3723, 3724, -1, 3726, 3727, 3728, -1, -1, -1, 485, -1, -1, -1, 3736, -1, -1, -1, -1, 3741, -1, -1, 148, 6782, -1, -1, -1, -1, -1, -1, 505, -1, 507, -1, 3756, -1, -1, -1, -1, -1, -1, 516, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, 527, -1, -1, -1, -1, 81, -1, -1, -1, 3783, 3784, 3785, -1, 540, 3788, -1, -1, -1, -1, -1, -1, -1, 3796, 3797, 3798, 3799, -1, -1, -1, -1, -1, -1, -1, 3807, -1, -1, 5042, 564, 3812, 3813, -1, 3815, 263, 3817, -1, -1, -1, 268, -1, -1, -1, -1, -1, -1, 3828, 3829, 583, -1, 3832, -1, 587, -1, 5068, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, 3853, -1, 3855, -1, 3857, -1, 263, -1, -1, -1, -1, 268, 312, -1, -1, 936, 937, -1, -1, 940, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, 3890, 95, 960, -1, -1, -1, -1, 101, -1, 967, -1, -1, -1, -1, 3904, 5137, 353, -1, 312, -1, -1, -1, 116, -1, -1, -1, -1, -1, -1, -1, 367, 3921, -1, 370, -1, -1, -1, -1, 996, -1, 998, -1, -1, 1001, -1, -1, 3936, 95, -1, -1, -1, -1, 146, 101, -1, -1, -1, 1015, -1, 353, 3950, -1, 80, 1021, -1, 83, -1, -1, 3958, 87, 88, 89, -1, 367, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 146, -1, 3990, -1, -1, 3993, 122, 3995, 200, -1, 202, -1, 4000, -1, -1, -1, -1, 209, -1, -1, 212, -1, -1, -1, -1, 460, -1, -1, 4016, 4017, -1, -1, 148, 6789, 4022, -1, -1, -1, -1, -1, -1, 108, -1, -1, -1, -1, -1, 239, -1, -1, -1, -1, -1, -1, -1, 4043, 202, -1, 4046, -1, -1, 4049, -1, 209, -1, 132, 212, -1, 460, 4057, -1, -1, -1, -1, -1, -1, 5296, -1, -1, 6835, 5300, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, 239, 4082, -1, -1, -1, 6854, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5335, 5336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, 275, 4118, 4119, 4120, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 263, -1, 584, -1, 586, 268, -1, 346, 4143, -1, -1, 350, -1, -1, 228, -1, -1, 4152, -1, 4154, -1, 360, -1, 562, 81, -1, -1, 4162, 291, 292, 369, 88, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 381, -1, -1, -1, -1, -1, 4183, 312, -1, 265, -1, 346, -1, -1, -1, 350, -1, -1, -1, -1, -1, -1, -1, 122, -1, 360, -1, -1, -1, -1, -1, -1, -1, -1, 369, -1, -1, -1, -1, 420, -1, -1, 423, 424, -1, -1, 381, 303, 353, -1, -1, -1, 308, -1, -1, 154, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, 4248, -1, -1, 455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 420, -1, -1, 423, 424, -1, -1, 80, 4270, 350, 83, -1, -1, 4275, 87, 88, 89, -1, -1, 4281, 1350, 1351, -1, -1, -1, -1, -1, -1, 4290, -1, -1, -1, 105, -1, -1, 455, -1, 80, -1, -1, 83, 382, 115, -1, 87, 88, 89, -1, -1, 122, -1, -1, -1, -1, -1, 4317, 4318, -1, 524, -1, -1, 4323, 105, 4325, -1, -1, -1, -1, -1, -1, 460, -1, 115, -1, -1, 148, 4338, -1, 4340, 122, -1, -1, -1, 424, -1, -1, 4348, -1, 429, -1, -1, -1, 1422, -1, -1, -1, -1, 438, 4360, -1, -1, -1, -1, -1, 524, 148, 447, 1437, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 467, 4389, -1, -1, -1, -1, -1, -1, -1, 476, -1, 1467, 1468, 480, -1, -1, -1, -1, -1, -1, -1, -1, 4410, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, 500, -1, -1, -1, 1493, -1, -1, -1, -1, -1, -1, -1, -1, 562, 4435, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 263, -1, -1, -1, 535, 268, 586, -1, 539, -1, -1, -1, -1, -1, -1, -1, -1, 1064, -1, 4471, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, 263, -1, -1, -1, -1, 268, -1, -1, -1, -1, -1, 4493, -1, 1090, -1, 4497, -1, -1, -1, 312, -1, -1, -1, 108, -1, -1, -1, -1, 291, 292, 1580, 1581, -1, -1, -1, -1, 4518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 132, -1, 312, -1, -1, 4534, -1, -1, 4537, -1, 5771, -1, -1, 353, 4543, 5776, -1, -1, 5779, -1, -1, -1, -1, -1, 4553, -1, -1, 367, 4557, 4558, 370, -1, -1, -1, 4563, 167, -1, -1, -1, -1, -1, -1, 4571, 353, 4573, -1, -1, 4576, -1, -1, -1, 4580, 4581, 4582, 4583, 4584, -1, 367, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, -1, -1, -1, 4600, 4601, 4602, -1, -1, 4605, -1, -1, -1, -1, 4610, -1, -1, -1, -1, 4615, -1, 4617, -1, 4619, -1, -1, -1, -1, -1, 228, 80, 4627, -1, 83, 4630, -1, 4632, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 945, -1, -1, -1, -1, -1, 460, 4650, 105, 954, 4653, 4654, -1, -1, -1, 4658, 4659, -1, 115, 265, 4663, -1, 4665, 968, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 4677, -1, 460, 4680, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4690, -1, -1, -1, 148, -1, -1, -1, -1, -1, 303, -1, -1, -1, 1006, 308, -1, -1, -1, -1, 1012, -1, -1, -1, 5946, -1, -1, -1, -1, -1, -1, -1, 1024, -1, -1, -1, -1, 5959, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4737, -1, -1, -1, -1, -1, -1, -1, 5977, -1, 350, -1, -1, -1, 562, -1, -1, 4754, -1, -1, -1, -1, 5991, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 4770, -1, -1, -1, -1, 586, -1, -1, -1, 382, -1, 562, 4782, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 4803, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, 268, -1, -1, -1, -1, -1, -1, 424, -1, 6055, -1, -1, 429, -1, -1, -1, 1425, -1, -1, -1, -1, 438, -1, 291, 292, -1, -1, 1436, -1, -1, 447, -1, -1, -1, -1, -1, -1, -1, 455, -1, 4854, -1, -1, 1452, 312, 4859, 4860, 4861, -1, -1, 467, -1, -1, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, 4885, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 500, -1, 353, -1, -1, -1, -1, -1, 1550, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1573, -1, -1, 4931, 535, -1, 4934, -1, 539, -1, 1583, -1, -1, -1, 1587, -1, -1, -1, 1591, -1, 1593, -1, -1, -1, -1, -1, 1599, -1, -1, -1, -1, -1, 1605, -1, -1, 1608, -1, -1, -1, 6199, 2036, 6201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1285, 1286, -1, -1, -1, -1, -1, -1, -1, -1, 2061, -1, 917, -1, -1, 4998, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, 944, 945, 5024, 5025, -1, 101, 5028, -1, 952, -1, 954, 955, 108, 5035, -1, -1, -1, -1, -1, -1, 5042, 5043, -1, -1, 968, -1, -1, -1, -1, -1, 5052, -1, -1, -1, 130, -1, 6290, -1, -1, -1, -1, -1, -1, 987, 2134, -1, -1, -1, -1, -1, 146, 6305, -1, -1, 5076, 5077, -1, -1, 5080, 5081, 5082, -1, 1006, 1680, -1, -1, -1, -1, 1012, -1, 5092, -1, -1, -1, 2164, 2165, 2166, 2167, -1, -1, 1024, -1, -1, -1, -1, 181, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 202, -1, 584, -1, 1054, -1, -1, 209, -1, -1, 212, -1, -1, -1, -1, -1, -1, -1, 1068, 1069, -1, 5149, -1, 80, 5152, 1075, 83, 1077, 1078, -1, 87, 88, 89, 2229, 2230, -1, -1, 239, -1, -1, -1, 1091, -1, -1, -1, -1, -1, -1, -1, 2245, 5178, -1, -1, -1, -1, -1, -1, 1107, 115, -1, -1, -1, -1, 5191, -1, 122, -1, -1, -1, 271, -1, -1, -1, 275, -1, -1, -1, 5205, -1, -1, -1, -1, -1, 2279, 2280, 2281, 2282, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5233, -1, -1, 5236, -1, -1, -1, -1, -1, -1, 1165, 5244, 5245, -1, 5247, -1, -1, -1, 5251, 5252, 327, -1, -1, 5256, 331, -1, -1, -1, -1, -1, 5263, -1, -1, 5266, 5267, -1, -1, -1, -1, 346, 5273, -1, -1, 350, -1, -1, -1, -1, -1, 1204, -1, -1, -1, 360, -1, 5288, -1, -1, -1, -1, -1, -1, 369, 5296, -1, -1, -1, 5300, -1, -1, -1, 1226, -1, 380, 381, -1, 1231, -1, -1, -1, -1, -1, -1, -1, -1, 6550, -1, -1, 1243, -1, -1, -1, -1, -1, -1, -1, -1, 2398, -1, -1, 5333, 263, -1, 2404, -1, -1, 268, -1, 5341, -1, 6575, -1, -1, 420, -1, 5348, 423, 424, 425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1285, 1286, -1, 5366, -1, -1, -1, -1, -1, -1, -1, -1, 449, -1, 3, -1, -1, -1, 455, 8, 312, 5384, -1, 12, -1, 14, -1, 16, 17, -1, -1, -1, 469, -1, 5397, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, 44, -1, -1, -1, -1, -1, 5424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6669, 367, -1, -1, 5441, -1, -1, -1, -1, 5446, -1, -1, -1, 524, -1, -1, 5453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, 5469, -1, -1, -1, -1, -1, 101, 5476, 103, 104, -1, -1, -1, -1, -1, -1, 2080, 1408, 5487, -1, -1, -1, -1, -1, 1415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1426, 131, -1, -1, 1430, -1, 1432, -1, -1, -1, -1, -1, -1, 143, 5518, 145, 146, -1, -1, -1, -1, -1, 152, -1, 154, -1, -1, 460, -1, -1, -1, -1, -1, -1, 2606, -1, 166, -1, 168, -1, 5544, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6786, -1, -1, 183, -1, 185, 5560, -1, 188, -1, -1, 5565, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, -1, 205, -1, -1, -1, 209, 5584, -1, -1, -1, -1, 215, -1, 5591, -1, -1, -1, -1, -1, 223, -1, 225, -1, -1, -1, -1, -1, -1, 232, -1, -1, -1, -1, -1, -1, 81, 1916, -1, -1, -1, -1, -1, 88, -1, -1, -1, 250, -1, -1, -1, 2223, -1, -1, -1, -1, 562, -1, -1, -1, -1, 5638, 2234, 5640, 267, 571, 572, 573, 574, 575, 576, 577, 578, 579, 1064, -1, -1, 122, 2250, -1, -1, -1, -1, -1, -1, -1, 1585, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, 1090, -1, 147, 148, 5681, -1, -1, -1, -1, 154, -1, 314, 315, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, 2304, -1, -1, 5712, -1, -1, 5715, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, 2370, 352, -1, -1, -1, -1, 2326, -1, 2378, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1665, 2339, 5745, 5746, -1, -1, 5749, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, 1682, -1, -1, -1, 5764, -1, -1, -1, -1, -1, 396, 5771, -1, -1, -1, -1, 5776, 1699, -1, 5779, 5780, -1, 1704, -1, 410, -1, -1, 5787, -1, -1, 416, 417, -1, 419, -1, -1, 2391, 2392, 424, -1, -1, 427, -1, -1, 430, -1, -1, 433, 5808, -1, -1, 5811, -1, -1, 440, -1, -1, 5817, -1, 5819, -1, 447, 448, 5823, -1, -1, -1, -1, -1, 455, -1, -1, -1, 459, -1, -1, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, -1, -1, 5864, 5865, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5875, 2178, 80, -1, 505, 83, 507, -1, 95, 87, 88, 89, -1, -1, 101, 516, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, 527, 105, -1, 116, -1, -1, -1, -1, -1, -1, -1, 115, -1, 540, 5915, -1, -1, 1840, 122, 5920, -1, -1, -1, -1, -1, 1848, 1849, -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, 564, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 2547, -1, -1, -1, -1, 583, -1, -1, -1, 587, -1, -1, -1, -1, 113, 2269, -1, -1, -1, -1, -1, -1, -1, 2277, -1, -1, -1, -1, -1, 5981, -1, 2285, 5984, 1907, -1, -1, 200, -1, 202, -1, -1, -1, 1916, -1, -1, 209, -1, -1, 212, -1, -1, 3071, -1, -1, -1, -1, -1, -1, -1, -1, 1425, -1, -1, -1, 168, -1, -1, -1, 6020, 168, -1, 1436, 6024, -1, 6026, 239, -1, -1, -1, 1953, -1, -1, -1, -1, -1, -1, -1, 1452, 6040, -1, -1, -1, -1, 6045, -1, -1, -1, -1, -1, 6051, -1, -1, -1, 6055, -1, -1, -1, 1981, 263, 6061, 6062, 275, -1, 268, 2368, 219, -1, -1, -1, -1, 219, -1, -1, -1, -1, -1, -1, -1, 232, -1, -1, -1, -1, 232, 238, -1, 291, 292, -1, 238, 244, 2395, -1, -1, -1, 244, 250, -1, -1, 253, -1, 250, -1, 257, 253, -1, -1, 312, 257, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, 6121, -1, -1, -1, -1, -1, 6127, 6128, 6129, -1, -1, 1545, -1, 346, 287, -1, -1, 350, -1, 287, -1, 289, 6143, -1, -1, -1, -1, 360, -1, 353, -1, -1, -1, -1, -1, -1, 369, -1, -1, -1, 313, -1, 6163, 367, -1, 313, 370, -1, 381, -1, 6171, -1, -1, 6174, -1, -1, 3245, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6199, -1, -1, -1, -1, -1, -1, -1, -1, 420, -1, 362, 423, 424, 365, -1, 362, -1, -1, 365, 371, -1, -1, -1, -1, 371, -1, -1, -1, -1, 6229, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, -1, -1, 6251, -1, -1, -1, 6255, 2178, 460, -1, -1, -1, -1, -1, -1, 6264, 6265, 6266, 1680, -1, 6269, -1, -1, 6272, -1, -1, -1, 428, -1, -1, -1, -1, 428, -1, 6283, -1, -1, -1, -1, -1, 2211, 6290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6308, -1, -1, -1, 524, 3381, -1, -1, 3384, -1, -1, -1, -1, -1, -1, -1, 2246, 132, -1, -1, -1, 6329, -1, -1, -1, 485, 481, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2269, -1, -1, -1, -1, -1, -1, 6354, 2277, 6356, -1, -1, 562, 167, 513, -1, 2285, -1, -1, 513, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, -1, 537, -1, 539, 540, -1, 537, -1, 539, 540, -1, -1, -1, -1, -1, -1, -1, 95, -1, -1, 3472, -1, -1, 101, -1, 561, 6410, -1, -1, -1, 561, -1, -1, 3485, -1, 3064, -1, 228, 116, -1, -1, 3493, -1, -1, -1, 581, 1843, -1, 584, 585, -1, 587, -1, 584, -1, 586, 587, -1, 2364, 2365, -1, 2367, 2368, -1, -1, 917, -1, 6451, 146, -1, -1, -1, -1, 2379, 265, 2381, 2382, -1, -1, -1, 3532, 6465, 6466, -1, -1, 6469, -1, -1, 2394, 2395, 6474, -1, 6476, 945, 6478, -1, -1, -1, -1, -1, -1, 3553, 954, -1, 6488, -1, -1, 6491, -1, -1, -1, -1, -1, -1, -1, -1, 968, 308, -1, -1, 6504, -1, -1, -1, 202, -1, -1, -1, -1, -1, -1, 209, -1, 6517, 212, 987, -1, -1, -1, -1, -1, -1, -1, -1, 2450, -1, -1, -1, 2454, 2455, -1, -1, -1, -1, 1006, 346, -1, -1, -1, 350, 1012, 239, -1, -1, -1, -1, 3618, -1, 3620, -1, -1, -1, 1024, -1, 6558, 81, -1, -1, 1975, -1, -1, -1, 88, -1, 6568, -1, -1, -1, -1, -1, 381, 382, 6576, 6577, -1, -1, -1, 275, 6582, -1, -1, -1, 1054, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6596, -1, -1, -1, 122, 1069, 6602, -1, -1, -1, 6606, -1, -1, 1077, -1, -1, -1, 420, -1, -1, -1, 424, -1, 141, -1, -1, 429, 1091, -1, 147, 148, -1, -1, -1, 2043, 438, 154, -1, -1, 6635, -1, -1, -1, 1107, 447, -1, -1, 3238, -1, -1, 2568, -1, 455, 3244, -1, -1, 346, -1, 3722, -1, 350, -1, -1, 6659, 467, 3729, -1, -1, -1, 6665, 360, 2080, -1, 476, -1, -1, -1, 480, -1, 369, -1, -1, -1, -1, -1, -1, -1, 6683, 6684, -1, -1, 381, -1, -1, 3285, -1, -1, 6693, -1, -1, 6696, 1165, 6698, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6721, -1, -1, -1, -1, 420, -1, 535, 423, 424, -1, -1, -1, 1202, -1, 1204, -1, 1206, -1, -1, -1, -1, 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, 1226, -1, 6760, 455, -1, 1231, 6764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1243, -1, -1, -1, -1, -1, -1, 6782, -1, -1, -1, -1, -1, -1, 6789, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, -1, 1285, 1286, -1, -1, 2234, -1, 6823, 6824, -1, -1, 6827, -1, -1, 524, 6831, -1, 80, -1, 6835, 83, 2250, -1, 3141, 87, 88, 89, -1, 6844, 6845, -1, -1, -1, -1, 202, -1, -1, -1, 6854, -1, -1, 209, 105, -1, 212, -1, 93, -1, -1, 3167, -1, -1, 115, 80, -1, -1, 83, -1, -1, 122, 87, 88, 89, -1, 111, -1, -1, 3185, -1, -1, -1, 239, -1, 3191, -1, 2304, -1, 3195, 105, -1, -1, 3492, -1, -1, -1, 148, -1, -1, 115, 136, -1, -1, -1, -1, -1, 122, -1, 2326, 1382, 1383, -1, -1, 149, -1, 3222, -1, -1, 275, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, 148, 2351, -1, 1408, -1, 3587, -1, -1, -1, -1, 1415, -1, -1, 3595, -1, 183, -1, 3256, -1, -1, -1, 189, -1, -1, -1, -1, -1, -1, -1, -1, 3612, -1, -1, -1, -1, -1, -1, 3276, -1, 207, 3622, 2391, 2392, 3625, -1, 3627, 3628, 4052, 4053, 3631, 218, -1, -1, 3635, -1, 3637, -1, 346, 3640, 227, -1, 350, -1, -1, -1, -1, -1, -1, -1, 3308, -1, 360, 240, -1, -1, -1, -1, -1, -1, 263, 369, 249, -1, -1, 268, 253, -1, -1, -1, -1, -1, -1, 381, -1, 3333, -1, -1, -1, -1, -1, 3339, -1, -1, -1, -1, 273, -1, 291, 292, -1, -1, -1, -1, -1, 3353, 263, -1, -1, -1, -1, 268, 3360, -1, -1, 3363, -1, -1, -1, 312, -1, 3369, 420, -1, -1, 423, 424, 3718, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, 316, -1, 3389, -1, -1, -1, -1, -1, 3395, -1, 326, -1, -1, -1, -1, 3402, 312, -1, 455, -1, -1, 353, -1, -1, -1, -1, -1, -1, 3708, 3416, -1, -1, 1585, -1, -1, 367, -1, -1, 370, -1, -1, -1, 3429, 3723, -1, -1, -1, -1, 3728, 2547, -1, 367, -1, 3440, 370, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, 391, 3756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 524, -1, 405, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1665, -1, -1, -1, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, 442, -1, 460, 1682, -1, -1, -1, 449, 3141, -1, 452, -1, -1, 4292, -1, -1, -1, -1, -1, -1, 1699, 106, -1, -1, -1, 1704, -1, -1, -1, 471, -1, -1, -1, -1, 3167, -1, 478, -1, 460, -1, -1, -1, -1, 485, -1, -1, 488, 489, -1, 491, 492, -1, 3185, -1, -1, -1, -1, 3190, 3191, -1, -1, -1, 3195, -1, -1, 507, -1, -1, -1, -1, -1, 3204, 514, 95, -1, 517, -1, -1, 520, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222, -1, 533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, 3239, -1, 3241, 3242, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 3256, 146, -1, 584, -1, -1, -1, -1, 95, -1, -1, -1, -1, -1, 101, -1, -1, 562, -1, -1, 3276, 3277, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, 1840, 584, -1, -1, -1, -1, -1, -1, 1848, 1849, -1, -1, -1, 3307, 3308, 4032, 3690, 3311, -1, 202, -1, 146, -1, 917, -1, -1, 209, -1, -1, 212, -1, -1, -1, -1, 4474, -1, 3710, -1, -1, 3333, -1, 3335, -1, 3717, -1, 3339, -1, -1, -1, -1, -1, 945, -1, -1, -1, -1, 239, -1, -1, 3353, 954, -1, -1, -1, -1, -1, 3360, 1907, -1, 3363, -1, -1, -1, -1, 968, 3369, 1916, 202, -1, -1, -1, -1, 4049, -1, 209, -1, 4103, 212, 4105, -1, 4057, -1, 275, 987, -1, 3389, -1, -1, -1, -1, -1, 3395, -1, -1, -1, -1, -1, -1, 3402, -1, -1, -1, 1006, 1953, 239, -1, -1, -1, 1012, -1, -1, -1, 3416, -1, -1, -1, -1, -1, -1, -1, 1024, -1, -1, -1, -1, 3429, -1, -1, -1, -1, 3434, 1981, -1, -1, -1, -1, 3440, -1, -1, -1, 275, -1, 1992, -1, -1, -1, -1, -1, -1, -1, 1054, -1, -1, 346, -1, 80, -1, 350, 83, -1, -1, -1, 87, 88, 89, 1069, 95, 360, -1, -1, -1, -1, 101, 1077, -1, 4152, 369, 4154, -1, 108, 105, -1, -1, 2033, -1, -1, -1, 1091, 381, -1, 115, -1, -1, -1, -1, -1, 3500, 122, -1, -1, -1, 130, -1, 1107, -1, -1, -1, -1, -1, -1, -1, 346, -1, -1, -1, 350, -1, 146, -1, -1, 4247, -1, -1, 148, -1, 360, 4253, 420, -1, -1, 423, 424, -1, -1, 369, -1, -1, -1, -1, 2089, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, 181, -1, -1, -1, 2106, -1, -1, -1, -1, 1165, 455, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, 202, -1, -1, -1, -1, -1, -1, 209, -1, -1, 212, -1, 420, -1, -1, 423, 424, -1, -1, -1, -1, -1, -1, -1, -1, 1202, -1, 1204, -1, 1206, -1, -1, -1, -1, -1, -1, -1, 239, -1, -1, 4290, -1, -1, -1, -1, -1, -1, 455, -1, 1226, -1, -1, -1, -1, 1231, 2178, -1, -1, 524, -1, -1, -1, -1, -1, -1, 263, 1243, -1, -1, 271, 268, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4043, -1, 2211, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, 1285, 1286, 3178, 3179, -1, 3690, 312, 3692, 524, -1, -1, -1, -1, -1, -1, 2246, -1, 327, -1, -1, -1, 331, -1, -1, -1, 3710, -1, -1, -1, -1, -1, 4389, 3717, -1, -1, -1, 346, -1, 2269, 3724, 350, 3726, 3727, -1, -1, -1, 2277, 353, -1, -1, 360, 4459, -1, 4461, 2285, 4463, -1, -1, -1, 369, -1, 367, 3238, -1, 370, -1, -1, -1, 3244, -1, 380, 381, -1, -1, -1, -1, -1, 4435, 4143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1382, 1383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3285, 420, -1, -1, 423, 424, 425, -1, -1, -1, -1, -1, -1, 3807, 1408, -1, -1, -1, -1, 3813, -1, 1415, -1, -1, -1, -1, -1, 2367, 2368, -1, 449, -1, -1, -1, 95, -1, 455, -1, -1, -1, 101, 2381, 4982, -1, 80, 460, -1, 83, -1, -1, 469, 87, 88, 89, 2394, 2395, 4996, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, 4537, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, 80, 146, 122, 83, -1, -1, -1, 87, 88, 89, -1, -1, 4270, -1, -1, -1, -1, -1, -1, -1, -1, 524, -1, -1, -1, 105, 3904, -1, 148, 4580, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4605, -1, -1, 202, -1, -1, -1, -1, -1, 562, 209, -1, -1, 212, 148, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, -1, -1, -1, -1, -1, -1, 239, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 935, -1, 1585, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, -1, -1, -1, 952, 3492, -1, 955, -1, -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, 4016, 4017, -1, -1, -1, 263, 2568, -1, -1, -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4043, -1, -1, 4046, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, 1665, 268, -1, -1, -1, 312, -1, -1, -1, 3565, -1, -1, -1, 3569, 346, -1, -1, 1682, 350, -1, -1, -1, -1, -1, 291, 292, 4471, -1, 360, -1, -1, -1, -1, -1, 1699, -1, -1, 369, -1, 1704, -1, -1, 1059, -1, -1, 312, 353, -1, 4493, 381, -1, 1068, 4497, 4118, 4119, 4120, -1, -1, 1075, -1, 367, 1078, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4143, -1, -1, -1, -1, -1, -1, -1, 353, -1, 420, -1, -1, 423, 424, -1, -1, -1, -1, 4162, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4183, -1, -1, -1, -1, 455, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708, 460, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 3723, -1, -1, -1, -1, 3728, 122, -1, 1840, -1, -1, 80, -1, -1, 83, -1, 1848, 1849, 87, 88, 89, -1, -1, -1, -1, 524, 460, -1, -1, -1, -1, -1, 148, 3756, -1, -1, 105, -1, 4270, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1907, -1, -1, -1, 148, -1, -1, -1, -1, 1916, 4317, -1, -1, 562, -1, -1, 4323, -1, 4325, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 4338, -1, 4340, -1, 584, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5498, 1953, -1, 5028, -1, -1, -1, -1, 562, -1, -1, -1, -1, -1, -1, 5513, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 263, -1, 1981, 584, -1, 268, -1, -1, -1, -1, -1, -1, -1, 1992, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, 5132, 4410, -1, 5135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4803, -1, -1, 263, -1, 312, -1, -1, 268, -1, 2033, -1, -1, -1, -1, -1, -1, -1, -1, 5165, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, 5604, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1420, 353, -1, 4471, -1, -1, 1426, 312, -1, -1, 1430, -1, 1432, -1, -1, 367, -1, -1, 370, 80, -1, 2089, 83, -1, -1, 4493, 87, 88, 89, 4497, -1, 3990, -1, -1, 3993, -1, 3995, -1, 2106, -1, -1, 4000, -1, -1, 105, -1, -1, -1, 353, -1, 4518, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1495, -1, 1497, 1498, -1, -1, -1, -1, 4931, -1, -1, 4934, 148, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, 2178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, 3141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2211, -1, -1, -1, -1, -1, 4617, -1, -1, -1, 3167, -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3185, -1, -1, -1, -1, 3190, 3191, 2246, -1, -1, 3195, -1, -1, -1, -1, -1, 5035, -1, -1, 3204, 5382, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, 2269, 263, -1, 5052, -1, -1, 268, 3222, 2277, 562, 5825, -1, 5827, -1, -1, -1, 2285, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 291, 292, 584, -1, 5425, 5426, -1, -1, -1, -1, -1, -1, 3256, 5384, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, 3269, -1, 562, -1, -1, -1, -1, 3276, 3277, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, -1, 5424, -1, -1, -1, -1, -1, 4248, -1, -1, 353, 3307, 3308, -1, -1, 3311, -1, 2367, 2368, 5149, -1, -1, -1, 5446, 367, -1, -1, 370, -1, -1, -1, 2381, -1, -1, -1, -1, -1, 3333, -1, 3335, -1, -1, -1, 3339, 2394, 2395, 5519, 5520, -1, 4290, -1, -1, -1, 4803, -1, -1, -1, 3353, -1, -1, -1, -1, 3358, -1, 3360, -1, -1, 3363, -1, -1, -1, -1, 80, 3369, -1, 83, -1, 4318, -1, 87, 88, 89, -1, 5979, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3389, -1, 5518, -1, 105, -1, 3395, -1, -1, -1, -1, 4854, -1, 3402, 115, -1, 4859, -1, 4861, -1, -1, 122, -1, -1, 460, 132, -1, 3416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3429, -1, 4885, -1, -1, 3434, -1, 148, -1, -1, -1, 3440, -1, -1, -1, 4389, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, 5652, -1, 4931, -1, -1, 4934, -1, -1, -1, -1, -1, 5663, 5664, -1, -1, 4435, -1, 93, -1, -1, -1, -1, 98, -1, -1, 3500, -1, -1, -1, -1, -1, 5683, -1, -1, -1, 228, -1, -1, 5640, 2568, 562, -1, 1064, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6133, -1, 6135, -1, 584, -1, -1, -1, -1, -1, 1090, -1, -1, -1, 265, 149, 150, -1, 263, -1, -1, -1, -1, 268, -1, -1, 80, -1, -1, 83, -1, 165, -1, 87, 88, 89, -1, 5024, 5025, -1, -1, -1, -1, -1, -1, -1, 291, 292, 5035, 183, -1, 105, -1, -1, -1, -1, -1, 308, -1, 4537, -1, 115, -1, -1, -1, 5052, -1, 312, 122, -1, -1, -1, -1, 207, 5441, -1, -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, 5453, -1, -1, 88, -1, -1, -1, 227, 148, 346, -1, -1, -1, 350, -1, -1, 4580, -1, -1, -1, 240, 106, 353, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, 122, -1, 370, -1, 4605, -1, -1, 381, 382, -1, -1, -1, -1, -1, -1, -1, 273, -1, -1, 141, -1, -1, -1, -1, -1, 147, 148, -1, -1, -1, -1, -1, 154, -1, 3690, -1, 3692, -1, -1, 5149, -1, -1, 5152, -1, -1, -1, 420, 304, -1, -1, 424, -1, -1, -1, 3710, 429, -1, -1, -1, 80, -1, 3717, 83, -1, 438, -1, 87, 88, 89, 326, -1, -1, -1, 447, -1, -1, -1, -1, -1, -1, -1, 455, -1, -1, 105, -1, 263, -1, -1, -1, -1, 268, 460, 467, 115, -1, -1, -1, 168, -1, -1, 122, 476, -1, -1, -1, 480, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, 6395, -1, -1, -1, -1, 401, 402, -1, -1, 405, 219, -1, 3807, -1, -1, -1, -1, -1, 3813, -1, -1, -1, 535, 232, -1, -1, -1, -1, -1, 238, 4770, -1, -1, -1, -1, 244, 432, 353, -1, 435, -1, 250, -1, -1, 253, -1, 442, -1, 257, -1, -1, 367, 5681, 449, 370, 562, 452, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 471, -1, 584, 287, -1, -1, -1, 478, 1425, -1, -1, -1, -1, -1, 485, -1, -1, 488, -1, 1436, -1, 492, -1, -1, -1, -1, -1, -1, 263, 313, -1, -1, -1, 268, 3904, 1452, 507, -1, 6085, -1, -1, -1, -1, -1, 2320, 4860, -1, 2323, -1, 6519, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, 533, -1, 6061, -1, -1, -1, -1, 460, -1, 4886, -1, 5397, -1, -1, -1, 312, 362, -1, -1, 365, -1, -1, -1, -1, -1, 371, 2364, 2365, -1, 6138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2379, -1, -1, 2382, -1, -1, -1, -1, -1, -1, 5817, 6111, 5819, -1, 5441, 353, 6116, 6117, -1, -1, -1, -1, -1, -1, -1, 1545, 5453, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, 4016, 4017, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6629, -1, -1, -1, 5487, -1, -1, -1, -1, -1, -1, -1, 562, -1, 4043, 2450, -1, 4046, -1, 2454, 2455, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 6660, 6661, -1, 584, -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, -1, -1, -1, 6254, -1, -1, -1, -1, -1, 5028, -1, -1, -1, 3141, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, 513, -1, -1, -1, 6230, -1, -1, -1, -1, -1, -1, -1, 5565, -1, 3167, -1, -1, -1, -1, 4118, 4119, 4120, -1, -1, 537, -1, 539, 540, -1, -1, -1, 5584, 3185, 5077, 1680, -1, 5080, 3190, 3191, -1, -1, -1, 3195, -1, 4143, -1, -1, -1, 561, -1, -1, 3204, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4162, -1, -1, -1, -1, 581, 3222, -1, 584, 585, -1, 587, -1, -1, -1, -1, -1, 6779, -1, -1, -1, 4183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, -1, 3256, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 3269, -1, -1, -1, 584, -1, -1, 3276, 3277, -1, -1, -1, 5681, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 3307, 3308, 83, -1, 3311, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 4270, -1, -1, -1, -1, -1, -1, 105, -1, 3333, -1, 3335, -1, -1, -1, 3339, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, 3353, -1, -1, 5247, -1, 3358, -1, 3360, -1, -1, 3363, -1, -1, -1, -1, -1, 3369, -1, 4317, -1, -1, 148, -1, -1, 4323, 80, 4325, -1, 83, -1, -1, -1, 87, 88, 89, -1, 3389, -1, -1, 4338, -1, 4340, 3395, 6469, -1, -1, -1, -1, -1, 3402, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 3416, 5817, -1, 5819, 122, -1, -1, -1, -1, -1, -1, -1, 80, 3429, -1, 83, -1, -1, 3434, 87, 88, 89, -1, -1, 3440, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 4410, 5865, -1, -1, -1, -1, 122, -1, -1, -1, -1, 5875, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, 5384, 268, 6618, 148, -1, -1, -1, 3500, -1, -1, -1, -1, 917, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5915, -1, 291, 292, -1, 5920, -1, -1, 935, -1, 4471, -1, -1, -1, -1, -1, -1, 944, 5424, -1, -1, -1, -1, 312, -1, 952, -1, -1, 955, -1, -1, -1, 4493, -1, -1, 2043, 4497, -1, -1, -1, 5446, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, 268, -1, -1, -1, -1, -1, 4518, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, 2080, -1, 291, 292, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, 263, -1, -1, -1, -1, 268, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, 1059, -1, -1, -1, 353, 1064, -1, -1, -1, 1068, -1, -1, -1, 312, -1, -1, 1075, -1, 367, 1078, -1, 370, -1, -1, 4617, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, 3690, -1, 3692, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, 3710, 6491, -1, -1, -1, 367, -1, 3717, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6129, 2223, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, 2234, -1, 6143, -1, -1, -1, -1, -1, 5640, -1, -1, -1, -1, -1, -1, -1, 2250, 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, 6174, -1, -1, -1, -1, -1, -1, -1, -1, 1195, 1196, -1, -1, -1, 562, -1, 1202, -1, -1, -1, 1206, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 3807, 460, -1, 584, 2304, -1, 3813, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, -1, 2326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4803, 2351, -1, 562, -1, -1, -1, -1, -1, 265, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, 3236, -1, -1, 3239, -1, 3241, 3242, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, 3904, -1, -1, -1, 4854, 308, 562, -1, -1, 4859, -1, 4861, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, -1, -1, -1, -1, 4885, -1, -1, -1, -1, -1, -1, -1, 346, -1, -1, -1, 350, -1, -1, 6354, -1, 6356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1382, 1383, -1, 5864, -1, -1, -1, -1, -1, -1, -1, -1, 381, 382, 80, 4931, -1, 83, 4934, -1, -1, 87, 88, 89, 1406, 1407, 1408, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1420, 105, -1, -1, -1, 1425, 1426, -1, 4016, 4017, 1430, 115, 1432, 420, -1, -1, 1436, 424, 122, -1, -1, -1, 429, -1, -1, -1, -1, -1, -1, -1, -1, 438, 1452, -1, -1, 4043, -1, -1, 4046, -1, 447, -1, -1, -1, 148, -1, 2547, -1, 455, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6466, -1, 467, -1, -1, -1, -1, -1, -1, -1, -1, 476, 5024, 5025, -1, 480, -1, 1495, -1, 1497, 1498, -1, -1, 5035, -1, 6491, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6504, -1, 5052, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6517, 4118, 4119, 4120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, 1545, 83, -1, 535, -1, 87, 88, 89, -1, -1, 4143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, 4162, -1, -1, -1, 115, 263, -1, -1, 6061, -1, 268, 122, -1, -1, 6576, 6577, -1, -1, -1, 3533, -1, 4183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, 148, -1, -1, -1, 5149, -1, -1, 5152, -1, -1, -1, -1, -1, 1624, -1, 80, -1, 312, 83, -1, -1, 6111, 87, 88, 89, -1, 6116, 6117, -1, -1, -1, -1, -1, -1, -1, -1, 6635, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1680, -1, 4270, 367, -1, -1, 370, -1, -1, -1, -1, -1, 80, -1, 148, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1715, -1, 105, -1, -1, -1, 109, -1, -1, -1, -1, 263, 115, -1, 4317, -1, 268, -1, -1, 122, 4323, -1, 4325, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 4338, 6230, 4340, -1, 291, 292, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, 460, -1, 1778, 1779, 1780, 3721, 1782, -1, 3724, -1, 3726, 3727, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6789, 1802, -1, -1, -1, -1, -1, -1, 263, -1, 199, -1, -1, 268, -1, 353, -1, -1, -1, -1, -1, 4410, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, 6835, -1, -1, -1, -1, -1, -1, -1, -1, 6844, 6845, 312, -1, -1, -1, -1, 5397, -1, -1, 6854, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, 562, -1, 268, 1881, -1, 4471, -1, 1885, 1886, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, 353, 584, 1901, -1, 291, 292, 4493, -1, 5441, -1, 4497, -1, -1, -1, 367, -1, -1, 370, -1, -1, 5453, -1, -1, -1, 460, 312, -1, 80, -1, -1, 83, 4518, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3890, 105, -1, 5487, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, 353, -1, -1, 122, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, 367, -1, 1981, 370, -1, -1, -1, -1, -1, -1, -1, 6469, -1, 1992, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, 3950, -1, -1, -1, -1, -1, -1, -1, 3958, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, 4617, -1, 5565, -1, 2033, 571, 572, 573, 574, 575, 576, 577, 578, 579, 2043, -1, -1, -1, 584, -1, -1, 5584, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, -1, -1, -1, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, 2089, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, 2106, -1, 562, 263, -1, -1, -1, 2113, 268, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, 521, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, 5681, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3238, 312, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, 562, 83, -1, -1, -1, 87, 88, 89, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 2194, 2195, 2196, 105, -1, 353, -1, -1, 80, -1, 3285, 83, -1, 115, -1, 87, 88, 89, -1, 367, 122, 4803, 370, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, 105, -1, -1, 108, -1, -1, -1, 2234, -1, -1, 115, -1, -1, 148, -1, -1, -1, 122, -1, 2246, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4854, -1, -1, -1, 148, 4859, -1, 4861, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5817, -1, 5819, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4885, -1, -1, -1, -1, 80, -1, 2304, 83, 460, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 2320, -1, -1, 2323, -1, -1, 2326, 105, -1, -1, -1, 5865, -1, 2333, -1, -1, -1, 115, -1, 2339, -1, -1, -1, 4931, 122, -1, 4934, -1, -1, -1, -1, 2351, -1, -1, -1, 263, -1, -1, -1, -1, 268, -1, -1, -1, 2364, 2365, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, 2379, -1, 5915, 2382, 291, 292, 263, -1, -1, -1, -1, 268, 2391, 2392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, 562, -1, -1, 3492, -1, 291, 292, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 584, -1, -1, -1, 312, -1, 5024, 5025, -1, -1, -1, -1, -1, -1, -1, 353, -1, 5035, -1, -1, 2450, -1, -1, -1, 2454, 2455, -1, -1, -1, 367, 238, -1, 370, -1, 5052, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, 3565, 263, -1, -1, 3569, 367, 268, -1, 370, 2493, 2494, -1, -1, -1, -1, 2499, 2500, -1, -1, -1, -1, -1, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 291, 292, 2515, -1, 2517, -1, 2519, 2520, 2521, 2522, 2523, 2524, -1, -1, 2527, -1, 2529, 2530, -1, -1, 2533, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, 2548, 2549, 2550, 80, 460, -1, 83, -1, -1, -1, 87, 88, 89, 5149, -1, -1, 5152, -1, 2566, -1, 2568, -1, -1, -1, -1, -1, -1, 353, 105, -1, -1, -1, -1, -1, 460, -1, -1, -1, 115, -1, -1, 367, -1, -1, 370, 122, -1, 6129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6143, -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6174, -1, 3723, -1, -1, -1, -1, 3728, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 582, 3756, -1, -1, -1, -1, -1, -1, 460, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, 237, -1, 2710, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, 4677, -1, 268, 4680, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2757, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, -1, 5397, 2810, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6354, -1, 6356, -1, 353, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, 4782, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, 5441, -1, 34, 35, -1, -1, -1, 39, -1, 41, 42, 393, 5453, 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, -1, 71, -1, 73, -1, 75, 76, -1, 5487, -1, -1, 81, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, 6466, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6491, -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, 5565, -1, -1, -1, -1, -1, 6517, -1, -1, -1, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 5584, 2997, -1, -1, -1, 4082, -1, -1, -1, -1, -1, -1, -1, 3009, -1, -1, 3012, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, 216, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3068, -1, -1, 4152, 3072, 4154, -1, 3075, -1, 3077, -1, -1, 3080, 260, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 5681, -1, 3095, -1, -1, -1, -1, -1, 6635, 5042, 5043, 3104, 3105, 285, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 148, 330, -1, -1, 333, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, 4248, 115, -1, -1, -1, -1, -1, 3174, 122, 355, -1, 3178, 3179, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, 3190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, 105, -1, -1, -1, 4290, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, 3225, -1, -1, -1, 5817, -1, 5819, -1, -1, -1, -1, 3236, 4318, 3238, 3239, -1, 3241, 3242, -1, 3244, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 6789, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, 446, -1, 3269, 268, -1, -1, -1, -1, -1, -1, 5865, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, 6835, -1, -1, -1, -1, -1, 3307, 4389, -1, -1, 3311, -1, -1, 312, -1, 263, -1, 497, -1, 6854, 268, -1, -1, -1, -1, -1, 5915, -1, -1, 4411, -1, -1, -1, 513, 3335, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, 528, -1, -1, -1, -1, 4435, 353, 5296, -1, 3358, -1, 5300, -1, -1, 263, -1, 312, -1, -1, 268, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, 558, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, 573, 574, 575, 576, 577, 578, -1, -1, 581, 582, 583, 584, 353, 586, 587, 588, 589, 590, 312, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3434, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, -1, -1, 353, -1, -1, 4537, -1, 3458, 3459, 3460, -1, 460, -1, 3464, -1, -1, 367, -1, -1, 370, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 389, -1, 3491, 3492, -1, -1, -1, -1, 105, -1, 4580, 3500, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, 460, 122, -1, -1, -1, -1, 80, -1, -1, 83, -1, 4605, -1, 87, 88, 89, -1, 477, -1, -1, 3533, -1, -1, -1, -1, -1, -1, 148, 6129, -1, -1, 105, -1, -1, 108, -1, -1, -1, -1, -1, -1, 115, 6143, -1, -1, -1, -1, 460, 122, -1, 561, 562, 3565, -1, -1, -1, 3569, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, 6174, 148, -1, -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, -1, 5560, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5591, -1, -1, -1, 263, -1, -1, -1, -1, 268, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, 291, 292, -1, -1, -1, -1, 4770, -1, -1, 3692, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, 312, -1, -1, 268, 3708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3721, -1, 3723, 3724, -1, 3726, 3727, 3728, -1, 291, 292, -1, -1, -1, -1, 3736, -1, -1, -1, -1, 3741, -1, -1, -1, 353, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, 3756, -1, -1, 367, -1, -1, 370, -1, -1, -1, 6354, -1, 6356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, 3783, 3784, 3785, -1, -1, 3788, -1, -1, -1, 353, -1, -1, -1, 3796, 3797, 3798, 3799, -1, -1, -1, -1, -1, 4886, 367, 3807, -1, 370, -1, -1, 3812, 3813, -1, 3815, -1, 3817, -1, -1, -1, -1, -1, -1, 5764, -1, -1, -1, 3828, 3829, -1, 5771, 3832, -1, -1, -1, 5776, -1, -1, 5779, 5780, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, 3853, -1, 3855, 80, 3857, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, 5808, -1, -1, -1, -1, -1, -1, -1, 3876, -1, 6466, -1, -1, 105, -1, 5823, 108, -1, -1, -1, -1, -1, 3890, 115, -1, -1, -1, -1, -1, -1, 122, 460, -1, -1, -1, 6491, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3921, -1, -1, 148, -1, -1, -1, -1, 6517, -1, -1, -1, -1, -1, 5875, 3936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5028, -1, -1, 3950, -1, -1, -1, 562, -1, -1, -1, 3958, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, -1, -1, 5920, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, 5077, -1, -1, 5080, 4000, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 80, 4022, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, 5981, -1, -1, 268, -1, 105, 6635, -1, 4049, -1, -1, -1, -1, -1, -1, 115, 4057, -1, -1, -1, -1, -1, 122, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, -1, -1, 312, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6055, -1, -1, 4118, 4119, 4120, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5247, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, 6789, -1, 108, 263, -1, -1, -1, -1, 268, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6171, 291, 292, -1, -1, 460, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, 6835, 4248, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, 6199, -1, -1, -1, -1, -1, -1, 6854, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, 4281, -1, -1, -1, -1, -1, -1, -1, -1, 4290, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, 5384, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, 4317, 4318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6269, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, -1, 5424, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 263, -1, 4360, -1, -1, 268, -1, 5446, -1, -1, 6308, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, 4389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, -1, -1, 312, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, 493, 4435, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 35, 367, -1, -1, 370, -1, 41, 42, -1, 6410, 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, -1, -1, -1, 73, -1, 75, 76, 562, -1, -1, -1, 81, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4534, -1, -1, 4537, -1, -1, -1, -1, -1, 4543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4553, -1, 460, -1, 4557, 4558, 5640, -1, -1, -1, 4563, 6504, 139, -1, -1, -1, -1, -1, 4571, -1, 4573, -1, -1, 4576, -1, -1, -1, 4580, 4581, 4582, 4583, 4584, -1, -1, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, -1, -1, -1, 4600, 4601, 4602, -1, -1, 4605, -1, -1, -1, -1, 4610, -1, -1, -1, -1, 4615, -1, 4617, -1, 4619, -1, -1, -1, -1, -1, -1, -1, 4627, 6568, -1, 4630, -1, 4632, -1, -1, -1, 6576, 6577, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 4650, -1, -1, 4653, 4654, -1, -1, 562, 4658, 4659, -1, -1, 236, 4663, -1, 4665, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 4677, -1, -1, 4680, -1, -1, -1, -1, -1, 260, -1, -1, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, 285, 87, 88, 89, -1, -1, -1, -1, 6659, -1, -1, -1, -1, -1, 6665, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, 4737, -1, -1, 115, -1, -1, 6683, -1, -1, -1, 122, -1, -1, -1, -1, -1, 98, 4754, -1, 330, -1, -1, 333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4770, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, 355, 4782, 5864, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, 6764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, -1, 6782, -1, 189, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4854, -1, -1, -1, -1, 4859, 4860, 4861, 207, -1, -1, -1, -1, -1, -1, 244, -1, -1, 446, 218, -1, -1, -1, -1, -1, -1, -1, -1, 227, -1, 6824, 4885, 4886, -1, 263, -1, -1, 6831, -1, 268, -1, 240, -1, -1, -1, -1, -1, 246, -1, 5984, 6844, 6845, -1, -1, 253, -1, -1, -1, -1, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, 497, -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, 513, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, 528, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, 353, 115, 6061, 326, -1, -1, 558, -1, 122, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, 4998, 573, 574, 575, 576, 577, 578, -1, -1, 581, 582, 583, -1, -1, 148, -1, 588, 589, -1, -1, -1, -1, -1, -1, 367, -1, -1, -1, -1, -1, 5028, -1, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, -1, -1, 5042, 5043, -1, -1, 391, -1, -1, -1, -1, -1, -1, -1, -1, -1, 401, 402, -1, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, 5081, 5082, -1, -1, 460, -1, 432, -1, -1, 435, -1, 5092, -1, 439, -1, -1, 442, -1, -1, -1, -1, -1, -1, 449, -1, -1, 452, 244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 471, 263, -1, -1, -1, -1, 268, 478, -1, -1, -1, -1, 483, -1, 485, -1, -1, 488, -1, 1064, -1, 492, -1, 6230, -1, -1, 5152, -1, -1, 291, 292, 502, -1, -1, -1, -1, 507, -1, -1, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, 520, 312, -1, 5178, -1, -1, -1, -1, -1, -1, -1, -1, 562, 533, -1, -1, 5191, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 5205, -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, -1, 353, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, 5233, 370, -1, 5236, -1, -1, -1, -1, -1, -1, -1, 5244, 5245, -1, 5247, -1, -1, -1, 5251, 5252, -1, -1, -1, 5256, -1, 136, -1, -1, -1, -1, 5263, -1, -1, 5266, 5267, -1, -1, -1, 149, -1, 5273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, 5288, -1, -1, -1, -1, -1, -1, -1, 5296, -1, -1, -1, 5300, -1, -1, -1, -1, 183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, -1, 207, -1, -1, -1, 5333, -1, -1, -1, -1, -1, -1, 218, 5341, -1, -1, -1, -1, -1, -1, -1, 227, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, 240, -1, -1, -1, 5366, -1, 246, -1, -1, -1, -1, -1, -1, 253, 24, -1, -1, -1, -1, -1, -1, -1, 5384, -1, 34, 35, 6469, -1, -1, -1, -1, 41, 42, 273, -1, 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, -1, -1, 5424, 73, 562, 75, 76, -1, -1, -1, -1, 81, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, 5446, -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, 5469, 87, 88, 89, -1, -1, -1, 5476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1406, 105, 367, -1, 139, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, 380, -1, -1, 122, 1425, -1, -1, -1, -1, -1, -1, 391, -1, -1, -1, 1436, 5518, -1, -1, -1, -1, 401, 402, -1, -1, 405, -1, -1, -1, 148, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5544, -1, -1, -1, 106, -1, -1, -1, -1, -1, 432, -1, -1, 435, -1, -1, 5560, 439, -1, -1, 442, 5565, -1, -1, 216, 127, -1, 449, 130, -1, 452, -1, 134, -1, -1, -1, -1, -1, 140, -1, 142, -1, 144, -1, 236, -1, -1, 5591, 150, 471, 168, -1, -1, 155, -1, -1, 478, -1, -1, -1, -1, -1, -1, 485, -1, -1, 488, -1, 260, -1, 492, -1, -1, -1, -1, -1, -1, 238, 500, -1, 502, -1, 1545, -1, -1, 507, -1, -1, -1, -1, -1, -1, -1, 285, 5638, -1, 5640, -1, 520, -1, -1, 219, 263, -1, -1, -1, -1, 268, -1, -1, -1, 533, -1, -1, 232, -1, -1, -1, -1, -1, 238, -1, -1, -1, -1, -1, 244, -1, -1, -1, 291, 292, 250, -1, -1, 253, -1, -1, 330, 257, -1, 333, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 355, -1, -1, -1, -1, 5712, 287, -1, 5715, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 313, -1, -1, -1, -1, -1, 5745, 5746, -1, -1, 5749, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, 1680, -1, -1, 5764, -1, -1, -1, -1, -1, -1, 5771, -1, -1, -1, -1, 5776, -1, -1, 5779, 5780, -1, -1, -1, -1, -1, -1, 5787, 362, -1, -1, 365, -1, -1, -1, -1, -1, 371, 446, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5808, -1, -1, 5811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5823, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, -1, -1, -1, 497, -1, -1, -1, 80, 428, -1, 83, -1, -1, -1, 87, 88, 89, -1, 5864, 513, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5875, -1, -1, 105, -1, 528, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 485, -1, -1, -1, 5915, -1, -1, -1, -1, 5920, 148, -1, -1, -1, 573, 574, 575, 576, 577, 578, -1, -1, 581, 582, 583, 584, -1, -1, 513, 588, -1, -1, -1, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 537, -1, 539, 540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5981, -1, -1, 5984, -1, -1, 561, -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 581, -1, -1, 584, 585, -1, 587, -1, -1, -1, -1, -1, -1, 6020, -1, -1, -1, 6024, -1, 6026, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, 6040, 268, -1, -1, -1, 6045, -1, -1, -1, -1, -1, 6051, -1, -1, -1, 6055, 1975, -1, -1, -1, -1, 6061, 6062, -1, 291, 292, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, -1, 122, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, 6121, -1, -1, 2043, -1, 353, 6127, 6128, -1, 1064, -1, -1, -1, -1, -1, 148, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, -1, 2080, -1, 6163, -1, -1, -1, -1, -1, -1, -1, 6171, -1, -1, 6174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, 6199, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6229, 6230, -1, -1, 460, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, 263, 122, -1, -1, 6255, 268, -1, -1, -1, -1, -1, -1, -1, 6264, 6265, 6266, -1, -1, 6269, -1, -1, 6272, -1, -1, 2194, 2195, 2196, 148, 291, 292, -1, -1, 6283, -1, -1, -1, -1, -1, -1, 6290, -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, 2223, -1, -1, -1, 6308, -1, -1, -1, -1, -1, -1, 2234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6329, -1, 2250, -1, -1, -1, 562, -1, -1, -1, -1, -1, 353, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, 6354, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, 238, -1, -1, -1, -1, -1, -1, -1, -1, 935, 936, 937, -1, -1, 940, -1, -1, 2304, 944, -1, 946, -1, -1, 949, -1, 263, 952, -1, -1, 955, 268, -1, 958, -1, 960, -1, -1, 963, -1, 2326, -1, 967, 6410, 969, -1, -1, -1, -1, -1, -1, -1, -1, 2339, 291, 292, -1, -1, -1, -1, -1, -1, -1, 988, -1, 2351, -1, -1, -1, 994, -1, 996, -1, 998, -1, 312, 1001, -1, -1, -1, -1, 460, -1, 1008, 6451, -1, -1, -1, 1013, -1, 1015, -1, -1, -1, -1, -1, 1021, -1, 6465, 6466, -1, -1, 6469, -1, -1, 2391, 2392, 6474, -1, 6476, -1, 6478, -1, -1, -1, -1, 353, -1, -1, -1, -1, 6488, -1, -1, 1425, -1, -1, -1, -1, -1, 367, -1, -1, 370, 1059, 1436, -1, 6504, -1, -1, -1, -1, -1, 1068, -1, -1, -1, 1072, -1, -1, 1075, 1452, -1, 1078, -1, -1, -1, 536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1094, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 562, -1, -1, -1, -1, -1, -1, -1, 6558, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6568, -1, -1, -1, -1, -1, -1, -1, 6576, 6577, -1, -1, -1, -1, 6582, -1, -1, -1, -1, -1, -1, -1, 460, 2510, -1, -1, -1, -1, 6596, 1155, -1, -1, 2519, -1, -1, 2522, -1, -1, 6606, -1, -1, 1167, -1, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, -1, -1, -1, -1, -1, -1, -1, -1, 1195, 1196, -1, -1, -1, -1, 1201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6659, -1, -1, 1220, -1, -1, 6665, -1, 1225, -1, -1, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, 6683, 6684, -1, 1244, -1, -1, -1, -1, -1, 562, 6693, -1, -1, -1, -1, 6698, 1257, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 80, -1, -1, 83, -1, -1, -1, 87, 88, 89, -1, 6721, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 1680, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, 6760, -1, -1, -1, 6764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334, -1, 148, -1, -1, -1, 6782, 93, -1, -1, -1, 1345, 98, 6789, -1, -1, 1350, 1351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6823, 6824, -1, 136, 6827, -1, -1, -1, 6831, -1, -1, -1, 6835, -1, -1, -1, 149, -1, -1, -1, -1, 6844, 6845, -1, -1, 1406, 1407, -1, -1, -1, -1, 6854, 165, -1, -1, -1, -1, -1, -1, 1420, -1, 1422, -1, -1, -1, 1426, -1, -1, 1429, 1430, 183, 1432, -1, -1, -1, -1, 1437, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, 207, 268, -1, -1, -1, -1, 1461, -1, -1, -1, -1, 218, 1467, 1468, -1, -1, -1, -1, -1, -1, 227, -1, -1, -1, 291, 292, -1, -1, -1, -1, -1, -1, -1, 240, 1489, 1490, 1491, -1, 1493, 246, 1495, -1, 1497, 1498, -1, 312, -1, -1, -1, 1504, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 326, -1, -1, -1, 1578, -1, 1580, 1581, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 367, -1, -1, -1, -1, -1, -1, -1, -1, 1624, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 460, 401, 402, 3012, -1, 405, -1, -1, -1, -1, 1658, -1, 1660, -1, -1, -1, 1664, -1, 1666, 2043, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 432, -1, -1, 435, -1, -1, -1, -1, -1, -1, 442, -1, -1, -1, -1, -1, 1696, 449, 1698, -1, 452, -1, 1702, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1715, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, 478, -1, -1, -1, -1, -1, -1, 485, -1, -1, 488, 2113, -1, -1, 492, -1, -1, -1, -1, -1, -1, -1, 500, 1749, 562, -1, -1, -1, -1, 507, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1778, 1779, 1780, 533, 1782, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1802, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, -1, -1, 1855, -1, -1, 2234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2250, -1, -1, 3238, -1, -1, -1, 1881, -1, 3244, -1, 1885, 1886, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1896, 1897, 1898, 1899, -1, 1901, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2028, -1, -1, -1, -1, -1, -1, -1, 2036, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2049, 2050, -1, -1, -1, -1, -1, -1, -1, 2058, -1, -1, 2061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2084, -1, 2086, -1, -1, -1, -1, -1, 2092, 2093, -1, -1, 2096, -1, -1, 3460, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2109, -1, -1, 2112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492, -1, -1, 2134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2164, 2165, 2166, 2167, 2168, -1, -1, 2547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2194, 2195, 2196, -1, -1, -1, -1, -1, -1, -1, 3565, -1, -1, -1, 3569, -1, 2210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2221, -1, -1, -1, -1, -1, -1, -1, 2229, 2230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2245, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2263, 2264, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2279, 2280, 2281, 2282, -1, -1, -1, -1, -1, 2288, -1, -1, -1, -1, -1, -1, 2295, -1, -1, 2298, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2320, -1, -1, 2323, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723, -1, 2364, 2365, -1, 3728, -1, -1, -1, -1, -1, -1, -1, 2375, 2376, -1, -1, 2379, -1, -1, 2382, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3756, -1, 2397, 2398, -1, -1, -1, -1, -1, 2404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2441, -1, -1, -1, -1, -1, -1, 2448, -1, 2450, -1, -1, 2453, 2454, 2455, -1, 2457, 2458, -1, 2460, -1, -1, -1, -1, -1, -1, 2467, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2478, -1, -1, 2481, 2482, -1, -1, 2485, -1, -1, 2488, 2489, -1, -1, -1, 2493, 2494, -1, -1, -1, -1, 2499, 2500, -1, -1, -1, -1, -1, 2506, 2507, 2508, 2509, 2510, 2511, 2512, -1, -1, 2515, -1, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, -1, -1, 2527, -1, 2529, 2530, -1, -1, 2533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2548, 2549, 2550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, 2710, 34, 35, -1, -1, -1, -1, -1, 41, 42, -1, 4082, 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, -1, -1, -1, 73, -1, 75, 76, -1, -1, -1, 2757, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, 24, -1, -1, -1, -1, -1, 2810, -1, -1, -1, 34, 35, 139, -1, -1, -1, -1, 41, 42, -1, -1, 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, -1, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, 3238, -1, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, 236, 4275, -1, -1, -1, -1, 139, 4281, -1, -1, -1, -1, -1, -1, -1, -1, 4290, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4318, -1, -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 216, 2997, -1, -1, -1, -1, -1, -1, -1, -1, -1, 330, 3008, 3009, 333, -1, 3012, -1, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, -1, 355, -1, 3034, -1, -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 285, 3066, -1, 3068, -1, -1, 3071, 3072, -1, 4435, 3075, -1, 3077, -1, -1, 3080, -1, -1, -1, 3084, 3085, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3095, -1, -1, -1, -1, -1, -1, -1, -1, 3104, 3105, -1, -1, -1, -1, 330, -1, -1, 333, -1, -1, 3492, -1, 3118, -1, -1, -1, -1, 446, -1, -1, 3126, -1, 3128, -1, -1, -1, -1, -1, -1, 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 4537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3565, 513, -1, -1, 3569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, 3206, -1, 3208, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4580, -1, -1, -1, -1, -1, 3225, 446, -1, -1, -1, -1, -1, -1, -1, -1, 558, 3236, -1, -1, 3239, 3240, 3241, 3242, -1, 4605, 3245, -1, -1, 3248, -1, 573, 574, 575, 576, 577, 578, -1, -1, 581, 582, 583, 584, -1, -1, -1, 588, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 497, -1, -1, 3280, -1, -1, -1, -1, -1, -1, -1, 3288, 3289, -1, -1, -1, 513, -1, 3295, -1, -1, -1, -1, -1, -1, -1, -1, 3304, -1, -1, -1, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3324, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, -1, 558, -1, -1, -1, -1, -1, -1, 3345, -1, 3723, -1, -1, -1, -1, 3728, 573, 574, 575, 576, 577, 578, -1, -1, 581, 582, 583, -1, -1, -1, -1, 588, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3756, 3381, -1, -1, 3384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4770, 3410, 3411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3425, -1, 3427, 3428, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3458, 3459, 3460, -1, -1, -1, 3464, -1, -1, -1, -1, -1, -1, -1, 3472, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3485, -1, -1, -1, -1, -1, 3491, -1, 3493, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, 3506, -1, -1, -1, -1, 3511, -1, -1, -1, -1, -1, 3517, -1, -1, 3520, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, 3532, 3533, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3553, -1, 3555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3579, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3606, -1, -1, -1, -1, -1, -1, -1, 3990, -1, 3616, 3993, 3618, 3995, 3620, -1, -1, -1, 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3666, 5028, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, -1, 3721, 3722, -1, 3724, -1, 3726, 3727, -1, 3729, -1, -1, -1, -1, -1, -1, 3736, -1, -1, -1, -1, 3741, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, 3783, 3784, 3785, -1, -1, 3788, -1, -1, -1, -1, -1, -1, -1, 3796, 3797, 3798, 3799, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3812, -1, -1, 3815, -1, 3817, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3828, 3829, -1, -1, 3832, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3851, -1, 3853, -1, 3855, -1, 3857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, 3876, -1, -1, 3879, -1, -1, -1, 3883, -1, -1, 5247, -1, -1, -1, 3890, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3913, 4290, -1, -1, -1, -1, -1, -1, 3921, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3936, -1, -1, -1, -1, -1, 4318, -1, -1, -1, -1, -1, -1, -1, 3950, -1, -1, -1, 3954, -1, -1, 3957, 3958, -1, 3960, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, -1, -1, -1, -1, -1, -1, 4022, 5384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4052, 4053, -1, -1, -1, -1, -1, 4435, -1, -1, -1, 5424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, 4160, 4537, -1, -1, -1, -1, -1, -1, -1, -1, 4170, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4580, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4605, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, 5638, -1, 5640, -1, 4281, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4292, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4329, 4330, 4331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4360, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4381, 4382, 4383, -1, -1, -1, 4387, -1, -1, -1, -1, -1, -1, 4770, -1, -1, -1, -1, 4399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4451, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4474, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, 4491, 4492, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4502, 5864, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, 4515, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4534, -1, -1, -1, -1, -1, -1, -1, -1, 4543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4553, -1, -1, -1, 4557, 4558, -1, -1, -1, -1, 4563, -1, -1, -1, -1, -1, -1, -1, 4571, -1, 4573, -1, -1, 4576, -1, -1, -1, -1, 4581, 4582, 4583, 4584, -1, -1, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, -1, -1, -1, 4600, 4601, 4602, -1, -1, -1, -1, -1, -1, -1, 4610, -1, -1, -1, -1, 4615, -1, -1, -1, 4619, -1, -1, -1, 5984, -1, -1, -1, 4627, -1, -1, 4630, -1, 4632, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4650, -1, 5028, 4653, 4654, -1, -1, -1, 4658, 4659, -1, -1, -1, 4663, -1, 4665, 4666, -1, -1, -1, -1, -1, -1, -1, 4674, 4675, 4676, 4677, -1, -1, 4680, 4681, -1, -1, -1, 4685, 4686, 4687, -1, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6061, 5077, -1, -1, 5080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4737, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6111, -1, 4752, -1, 4754, 6116, 6117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4782, 4783, 4784, -1, -1, 4787, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4822, 4823, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4841, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, -1, -1, -1, -1, -1, 6229, 6230, -1, 5247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4894, 141, -1, -1, -1, -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4982, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4996, -1, 4998, -1, -1, -1, -1, -1, -1, 5005, -1, -1, 5384, -1, -1, 5011, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5022, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5037, -1, -1, -1, -1, 5042, 5043, -1, -1, -1, -1, 5424, -1, 5050, -1, -1, -1, -1, -1, -1, -1, -1, 5059, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5069, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5081, 5082, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5092, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5103, 5104, -1, -1, -1, 6469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5121, 5122, 5123, 5124, 5125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5136, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5233, -1, -1, 5236, -1, -1, -1, -1, -1, -1, -1, 5244, 5245, -1, -1, -1, -1, -1, 5251, 5252, -1, -1, -1, 5256, -1, -1, -1, -1, -1, -1, 5263, 5640, -1, 5266, 5267, -1, -1, -1, -1, -1, 5273, -1, -1, -1, 5277, 5278, 5279, 5280, -1, -1, -1, 5284, 5285, 5286, -1, 5288, 5289, -1, -1, 5292, -1, -1, -1, 5296, -1, -1, -1, 5300, -1, -1, -1, -1, -1, 5306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5324, -1, -1, -1, -1, -1, -1, -1, -1, 5333, -1, -1, -1, 5337, -1, -1, -1, 5341, -1, 5343, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5363, -1, -1, 5366, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5400, -1, -1, -1, 5404, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6823, -1, -1, -1, -1, -1, -1, 5469, -1, -1, -1, -1, -1, -1, 5476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5864, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5498, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5513, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5560, -1, -1, -1, -1, -1, -1, 5567, -1, -1, -1, -1, -1, -1, -1, -1, 5576, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5604, -1, 5606, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5644, -1, -1, -1, -1, -1, 5650, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6061, -1, -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, -1, -1, -1, 952, -1, -1, 955, -1, -1, 5712, -1, -1, 5715, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, 5745, 5746, -1, -1, 5749, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5764, -1, -1, 5767, -1, -1, -1, 5771, -1, -1, -1, -1, 5776, -1, -1, 5779, 5780, -1, 5782, -1, 5784, -1, -1, 5787, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5808, -1, -1, 5811, -1, 1059, -1, -1, -1, -1, 1064, -1, -1, -1, 1068, 5823, 5824, 5825, -1, 5827, -1, 1075, -1, -1, 1078, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5875, 5876, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5920, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5932, -1, -1, -1, -1, 5937, -1, -1, -1, -1, 5942, -1, -1, -1, -1, -1, -1, 1195, 1196, 5951, -1, -1, -1, -1, 1202, -1, -1, -1, 1206, 5961, -1, -1, -1, 5965, -1, -1, 5968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5979, 5980, 5981, -1, -1, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6020, -1, -1, -1, 6024, -1, 6026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6040, -1, -1, -1, -1, 6045, -1, -1, -1, -1, -1, 6051, -1, -1, -1, 6055, -1, -1, -1, 6059, -1, -1, 6062, -1, 6064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6469, -1, 6095, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6121, -1, -1, -1, -1, -1, 6127, 6128, -1, -1, -1, 6132, 6133, 6134, 6135, 1382, 1383, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1406, 1407, -1, 6163, -1, -1, -1, -1, -1, -1, -1, 6171, -1, -1, 1420, -1, -1, -1, -1, 1425, 1426, -1, -1, -1, 1430, -1, 1432, -1, -1, -1, 1436, -1, -1, -1, -1, -1, 6196, -1, -1, 6199, -1, -1, -1, -1, -1, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1495, -1, 1497, 1498, -1, -1, 6255, -1, -1, -1, -1, -1, -1, -1, -1, 6264, 6265, 6266, -1, -1, 6269, -1, -1, 6272, -1, -1, -1, 6276, -1, -1, -1, -1, -1, -1, 6283, -1, -1, -1, -1, -1, -1, 6290, -1, -1, -1, -1, -1, -1, -1, -1, 1545, -1, -1, -1, 6303, -1, -1, -1, -1, 6308, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6318, -1, 6320, -1, -1, -1, -1, -1, -1, -1, -1, 6329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6364, 6365, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1624, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6395, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1680, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6444, -1, -1, -1, -1, -1, -1, 6451, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6462, -1, -1, 6465, -1, -1, -1, 1715, -1, -1, -1, -1, 6474, -1, 6476, -1, 6478, 6479, -1, -1, -1, -1, -1, -1, -1, 6487, 6488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 6504, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6519, -1, -1, -1, -1, -1, -1, 6526, -1, -1, -1, -1, -1, 1778, 1779, 1780, -1, 1782, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6551, -1, -1, -1, -1, 1802, -1, 6558, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6568, -1, -1, -1, -1, -1, -1, -1, 6576, 6577, 6578, -1, -1, -1, 6582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6596, -1, -1, -1, 6600, -1, -1, -1, -1, -1, 6606, -1, -1, -1, -1, 6611, 6612, 6613, -1, -1, -1, 1064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6629, -1, -1, -1, -1, -1, 1881, -1, -1, -1, 1885, 1886, -1, -1, 1090, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1901, -1, -1, -1, 6659, 6660, 6661, -1, -1, -1, 6665, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6683, 6684, -1, -1, -1, -1, -1, -1, -1, -1, 6693, -1, -1, -1, -1, 6698, 6699, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6721, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1992, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6760, -1, 6762, 6763, 6764, 6765, -1, 6767, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6779, -1, -1, 6782, -1, -1, -1, -1, 2033, -1, -1, 6790, -1, -1, -1, -1, -1, -1, 2043, -1, -1, -1, -1, 6802, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6823, 6824, -1, -1, 6827, -1, -1, -1, 6831, -1, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, 2089, 6844, 6845, -1, -1, 6848, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2106, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2194, 2195, 2196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, 1425, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2234, 1436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2250, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2320, -1, -1, 2323, -1, -1, 2326, -1, -1, -1, -1, -1, -1, 2333, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, 1545, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2364, 2365, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2379, -1, -1, 2382, -1, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2450, -1, -1, -1, 2454, 2455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1680, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2493, 2494, -1, -1, -1, -1, 2499, 2500, -1, -1, -1, -1, -1, 2506, 2507, 2508, 2509, 2510, 2511, 2512, -1, -1, 2515, -1, 2517, -1, 2519, 2520, 2521, 2522, 2523, 2524, -1, -1, 2527, -1, 2529, 2530, -1, -1, 2533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, 2548, 2549, 2550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2757, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2043, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, -1, 2997, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3009, -1, -1, 3012, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3068, -1, -1, -1, 3072, -1, -1, 3075, -1, 3077, -1, -1, 3080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3095, -1, -1, -1, -1, -1, -1, -1, 2304, 3104, 3105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3236, -1, 3238, 3239, -1, 3241, 3242, -1, 3244, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, 8, -1, -1, -1, 12, -1, 14, -1, 16, 17, -1, -1, -1, -1, 3269, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, 3285, -1, -1, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, -1, 2547, -1, 101, -1, 103, 104, -1, -1, -1, -1, -1, -1, 3358, -1, -1, -1, 115, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, -1, 145, 146, -1, -1, -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 166, -1, 168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, 185, -1, 187, 188, -1, -1, -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, 203, -1, 205, -1, -1, -1, 209, -1, 3458, 3459, 3460, -1, 215, 216, 3464, -1, -1, -1, -1, -1, 223, -1, 225, -1, -1, -1, -1, -1, -1, 232, -1, -1, -1, 236, -1, -1, -1, -1, -1, -1, -1, 3491, 3492, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 283, -1, -1, 3533, -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 314, 315, -1, -1, 3565, -1, 320, -1, 3569, -1, -1, -1, -1, -1, 328, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, 352, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, -1, -1, -1, -1, 416, 417, -1, 419, -1, -1, -1, -1, 424, -1, -1, -1, -1, -1, 430, -1, -1, 433, -1, -1, -1, -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, 447, 448, -1, -1, -1, -1, -1, -1, 455, -1, -1, -1, 459, -1, 3708, -1, -1, -1, -1, -1, -1, -1, 469, -1, -1, -1, -1, 3721, -1, 3723, 3724, -1, 3726, 3727, 3728, -1, -1, -1, 485, -1, -1, -1, 3736, -1, -1, -1, -1, 3741, -1, 496, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, 507, -1, 3756, -1, -1, -1, 513, -1, -1, 516, -1, -1, 519, -1, -1, 522, -1, -1, -1, -1, 527, 528, -1, -1, -1, -1, -1, -1, -1, 3783, 3784, 3785, -1, 540, 3788, -1, -1, -1, -1, -1, -1, -1, 3796, 3797, 3798, 3799, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 564, 3812, -1, -1, 3815, -1, 3817, -1, -1, -1, -1, -1, 1064, -1, -1, -1, -1, 3828, 3829, 583, -1, 3832, -1, 587, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, 3853, -1, 3855, -1, 3857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3890, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3921, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3950, -1, -1, -1, -1, -1, -1, -1, 3958, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4022, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3238, -1, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, 3285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, 4281, -1, -1, -1, -1, -1, -1, -1, -1, 4290, 3492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4360, -1, -1, -1, 3565, -1, -1, -1, 3569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4435, -1, -1, -1, 1680, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723, -1, -1, -1, -1, 3728, -1, -1, -1, -1, -1, -1, 4534, -1, 106, 4537, -1, -1, -1, -1, -1, 4543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4553, -1, 3756, -1, 4557, 4558, -1, -1, -1, -1, 4563, -1, -1, -1, -1, -1, -1, -1, 4571, -1, 4573, -1, -1, 4576, -1, -1, -1, 4580, 4581, 4582, 4583, 4584, -1, -1, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, -1, -1, -1, 4600, 4601, 4602, -1, -1, 4605, -1, -1, -1, -1, 4610, -1, -1, -1, -1, 4615, -1, -1, -1, 4619, -1, -1, -1, -1, -1, -1, -1, 4627, -1, -1, 4630, -1, 4632, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4650, -1, -1, 4653, 4654, -1, -1, -1, 4658, 4659, -1, -1, -1, 4663, -1, 4665, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4677, -1, -1, 4680, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, 4737, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4754, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4770, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4782, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, 2043, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2234, -1, -1, -1, -1, 4998, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5042, 5043, -1, -1, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, 5081, 5082, -1, -1, 2326, -1, -1, -1, 4290, -1, -1, 5092, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, -1, 4318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5178, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, 5191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5205, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5233, 4435, -1, 5236, -1, -1, -1, -1, -1, -1, -1, 5244, 5245, -1, 5247, -1, -1, -1, 5251, 5252, -1, -1, -1, 5256, -1, -1, -1, -1, -1, -1, 5263, -1, -1, 5266, 5267, -1, -1, -1, -1, -1, 5273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5288, -1, -1, -1, -1, -1, -1, -1, 5296, -1, -1, -1, 5300, -1, -1, -1, -1, -1, 2547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5333, -1, -1, 4537, -1, -1, -1, -1, 5341, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 935, 5366, -1, -1, -1, -1, -1, -1, -1, 944, -1, -1, -1, -1, 4580, -1, -1, 952, -1, 5384, 955, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4605, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5469, -1, -1, -1, -1, -1, -1, 5476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1059, -1, -1, -1, -1, 1064, -1, -1, -1, 1068, -1, -1, -1, -1, -1, -1, 1075, -1, -1, 1078, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, 1090, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5560, -1, -1, -1, -1, -1, -1, -1, -1, 4770, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1195, 1196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5638, -1, 5640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5712, -1, -1, 5715, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5745, 5746, -1, -1, 5749, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5764, -1, -1, -1, -1, -1, -1, 5771, -1, -1, -1, -1, 5776, -1, -1, 5779, 5780, -1, -1, -1, -1, -1, -1, 5787, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5808, -1, -1, 5811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5823, -1, -1, -1, 5028, -1, -1, -1, -1, -1, -1, -1, -1, 1406, 1407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1420, -1, -1, -1, -1, 1425, 1426, -1, -1, -1, 1430, -1, 1432, -1, 5864, -1, 1436, -1, -1, -1, -1, -1, -1, -1, -1, 5875, 5077, -1, -1, 5080, -1, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5920, -1, -1, -1, -1, 1495, -1, 1497, 1498, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1545, -1, -1, -1, -1, -1, 5981, -1, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3238, -1, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6020, -1, -1, -1, 6024, -1, 6026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6040, -1, -1, -1, 3285, 6045, 5247, -1, -1, -1, -1, 6051, -1, -1, 1624, 6055, -1, -1, -1, -1, -1, 6061, 6062, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1680, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, 6121, -1, -1, -1, -1, -1, 6127, 6128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1715, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6163, -1, -1, -1, -1, -1, -1, -1, 6171, -1, -1, -1, -1, -1, -1, -1, 1749, -1, -1, -1, 5384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6199, -1, -1, -1, -1, -1, -1, -1, -1, 1778, 1779, 1780, -1, 1782, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5424, -1, -1, -1, -1, -1, 6229, 6230, -1, 1802, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, 3492, -1, -1, -1, 6255, -1, -1, -1, -1, -1, -1, -1, -1, 6264, 6265, 6266, -1, -1, 6269, -1, -1, 6272, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6283, -1, -1, -1, -1, -1, -1, 6290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6308, -1, -1, 1881, -1, -1, -1, 1885, 1886, 5518, -1, -1, -1, -1, -1, -1, 3565, -1, -1, -1, 3569, 6329, -1, 1901, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, 6410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6451, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6465, -1, 3708, -1, 6469, -1, -1, -1, 2043, 6474, -1, 6476, -1, 6478, -1, -1, -1, 3723, -1, -1, -1, -1, 3728, 6488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6504, -1, -1, -1, -1, -1, 2080, -1, -1, -1, -1, 3756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6558, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6568, -1, -1, -1, -1, -1, -1, -1, 6576, 6577, -1, -1, -1, -1, 6582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6596, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6606, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2194, 2195, 2196, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, -1, -1, -1, -1, 6659, -1, -1, -1, 5864, 2234, 6665, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2250, -1, -1, 6683, 6684, -1, -1, -1, -1, -1, -1, -1, -1, 6693, -1, -1, -1, -1, 6698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6721, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, 2320, -1, 3993, 2323, 3995, -1, 2326, -1, -1, 4000, 6760, -1, -1, 2333, 6764, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, 6782, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2364, 2365, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4049, 2379, -1, -1, 2382, -1, -1, -1, 4057, -1, -1, -1, -1, 2391, 2392, 6823, 6824, -1, -1, 6827, -1, -1, -1, 6831, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, 6844, 6845, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2450, -1, -1, -1, 2454, 2455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6111, 4152, -1, 4154, -1, 6116, 6117, -1, -1, -1, -1, -1, -1, 2493, 2494, -1, -1, -1, -1, 2499, 2500, -1, -1, -1, -1, -1, 2506, 2507, 2508, 2509, 2510, 2511, 2512, -1, -1, 2515, -1, 2517, -1, 2519, 2520, 2521, 2522, 2523, 2524, -1, -1, 2527, -1, 2529, 2530, -1, -1, 2533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, 2548, 2549, 2550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4318, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2757, -1, -1, -1, -1, -1, -1, 4435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4580, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4605, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, -1, 2997, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3009, -1, -1, 3012, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3068, -1, -1, -1, 3072, -1, -1, 3075, -1, 3077, -1, -1, 3080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3095, -1, -1, -1, 4770, -1, -1, -1, -1, 3104, 3105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, -1, -1, 3178, 3179, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3236, -1, 3238, 3239, -1, 3241, 3242, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3458, 3459, 3460, -1, -1, -1, 3464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3491, 3492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3565, -1, -1, -1, 3569, -1, -1, -1, -1, -1, -1, 5247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, 5384, -1, -1, -1, -1, -1, -1, -1, 3721, -1, 3723, 3724, -1, 3726, 3727, 3728, -1, -1, -1, -1, -1, -1, -1, 3736, -1, -1, -1, -1, 3741, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5424, -1, -1, 3756, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, 3783, 3784, 3785, -1, -1, 3788, -1, -1, -1, -1, -1, -1, -1, 3796, 3797, 3798, 3799, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, 3812, -1, -1, 3815, -1, 3817, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, 3828, 3829, -1, -1, 3832, -1, -1, -1, 114, 115, -1, 117, -1, -1, -1, -1, -1, 123, -1, 5518, -1, -1, -1, -1, -1, 3853, -1, 3855, -1, 3857, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, -1, 159, 160, -1, -1, -1, -1, -1, -1, -1, 3890, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3921, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3950, -1, -1, -1, -1, -1, -1, -1, 3958, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4022, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, 338, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5864, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, 4281, -1, -1, -1, -1, -1, -1, -1, -1, 4290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5984, -1, -1, -1, -1, 4318, -1, 81, -1, 83, 84, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, 108, -1, -1, -1, -1, -1, 114, 115, -1, 117, -1, -1, -1, 4360, -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4389, 6061, -1, -1, -1, -1, -1, 674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4435, -1, -1, -1, -1, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 738, 739, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 807, -1, -1, -1, -1, 4534, -1, -1, 4537, -1, -1, -1, -1, -1, 4543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4553, -1, -1, -1, 4557, 4558, 6230, -1, -1, -1, 4563, -1, -1, -1, -1, -1, -1, -1, 4571, -1, 4573, -1, -1, 4576, 338, -1, -1, 4580, 4581, 4582, 4583, 4584, -1, -1, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, -1, -1, -1, 4600, 4601, 4602, -1, -1, 4605, -1, -1, -1, -1, 4610, -1, -1, -1, -1, 4615, -1, -1, -1, 4619, -1, -1, -1, -1, -1, -1, -1, 4627, -1, -1, 4630, -1, 4632, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4650, -1, -1, 4653, 4654, -1, -1, -1, 4658, 4659, 938, -1, -1, 4663, 942, 4665, -1, -1, -1, -1, -1, -1, 950, -1, -1, 953, -1, 4677, 956, 957, 4680, 959, -1, 961, -1, -1, 964, -1, 966, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 988, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 999, -1, -1, -1, 1003, -1, -1, -1, -1, -1, -1, 1010, 1011, -1, -1, 1014, 4737, 1016, 1017, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4754, -1, -1, -1, -1, 1037, -1, 1039, -1, -1, -1, -1, -1, -1, -1, -1, 4770, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4782, -1, -1, 1063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6469, -1, -1, -1, -1, -1, -1, -1, 1084, -1, 1086, -1, -1, -1, -1, -1, -1, -1, -1, 1095, 1096, -1, -1, -1, -1, -1, -1, -1, -1, 1105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 674, -1, -1, -1, -1, -1, -1, 1198, -1, 1200, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 738, 739, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4998, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1299, -1, -1, 1302, -1, 1304, -1, 5028, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5042, 5043, -1, -1, 807, -1, -1, -1, -1, -1, -1, 1331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, 5081, 5082, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5092, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1438, -1, 1440, -1, -1, -1, -1, 928, -1, -1, -1, -1, 1450, -1, -1, -1, -1, -1, 5178, 1457, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1499, -1, 1501, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5233, -1, -1, 5236, -1, -1, -1, -1, -1, -1, -1, 5244, 5245, -1, 5247, -1, -1, -1, 5251, 5252, -1, -1, -1, 5256, -1, -1, -1, -1, -1, -1, 5263, -1, -1, 5266, 5267, -1, -1, -1, -1, -1, 5273, -1, 1036, 1037, -1, 1039, -1, -1, -1, 1043, -1, -1, -1, -1, -1, 5288, -1, -1, -1, -1, -1, -1, -1, 5296, -1, -1, -1, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5333, -1, -1, -1, -1, -1, -1, 1101, 5341, -1, 1104, 1105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1120, -1, 1122, -1, 1124, -1, -1, 5366, -1, -1, 1130, -1, -1, -1, 1134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5384, -1, -1, -1, -1, -1, 1668, -1, -1, -1, -1, 1156, 1157, -1, -1, 1160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5424, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1198, -1, 1200, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5469, -1, -1, -1, -1, -1, -1, 5476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, 1285, 1286, -1, -1, 1289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5544, -1, -1, -1, 1826, 1827, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1344, -1, -1, -1, -1, -1, 1867, 1868, 5591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1914, -1, 5638, -1, 5640, 1919, -1, -1, 1922, -1, -1, -1, -1, -1, -1, -1, 1930, -1, 1415, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1946, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5712, -1, -1, 5715, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2017, -1, -1, -1, -1, -1, 5745, 5746, -1, -1, 5749, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5764, -1, -1, -1, -1, -1, -1, 5771, -1, -1, -1, -1, 5776, -1, -1, 5779, 5780, -1, -1, -1, -1, -1, -1, 5787, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2085, 5808, -1, -1, 5811, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5823, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5864, -1, -1, -1, -1, -1, -1, -1, 1633, -1, 1635, 5875, -1, 1638, -1, 1640, -1, -1, 1643, 1644, 1645, -1, -1, -1, 1649, -1, -1, -1, -1, -1, -1, 1656, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1671, -1, 1673, -1, -1, -1, -1, -1, 1679, -1, 5920, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2219, -1, 1064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, -1, -1, -1, -1, -1, -1, 2254, -1, -1, -1, -1, 5981, -1, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6020, -1, 2300, -1, 6024, -1, 6026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6040, -1, -1, -1, -1, 6045, -1, -1, -1, 2327, -1, 6051, -1, 1814, -1, 6055, -1, -1, -1, -1, -1, 6061, 6062, -1, -1, 1826, 1827, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1843, -1, -1, -1, -1, 1848, 1849, -1, -1, -1, 1064, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2384, -1, 2386, -1, -1, 6111, -1, -1, -1, -1, 6116, 6117, 1090, -1, -1, 6121, 2400, 2401, -1, 2403, -1, 6127, 6128, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1914, -1, 1916, -1, 2435, -1, -1, -1, -1, -1, 6163, -1, 1926, -1, -1, -1, 2447, -1, 6171, -1, 2451, 1195, 1196, -1, -1, 2456, -1, -1, 2459, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6199, -1, -1, 2480, -1, -1, -1, -1, 1968, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6229, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6255, -1, -1, -1, -1, 2021, -1, -1, -1, 6264, 6265, 6266, -1, -1, 6269, 2031, -1, 6272, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6283, -1, -1, -1, -1, -1, -1, 6290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1425, -1, -1, -1, 6308, -1, -1, -1, -1, -1, -1, 1436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6329, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2114, -1, -1, 2117, 2118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1406, 1407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1545, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6451, -1, 1425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1436, 6465, -1, 2228, -1, 6469, -1, -1, -1, -1, 6474, -1, 6476, -1, 6478, -1, 1452, -1, -1, -1, -1, -1, -1, -1, 6488, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6504, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6558, 1680, -1, -1, -1, -1, -1, -1, -1, -1, 6568, -1, -1, -1, -1, 1545, -1, -1, 6576, 6577, -1, -1, -1, -1, 6582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6596, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6606, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2419, 6659, 2421, -1, -1, -1, 2425, 6665, 2427, -1, -1, 2430, -1, -1, -1, 2434, -1, -1, -1, -1, 2439, -1, -1, -1, -1, 6683, 6684, -1, -1, -1, -1, -1, -1, -1, -1, 6693, 1715, -1, -1, -1, 6698, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1680, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6721, -1, -1, -1, -1, -1, -1, 1749, -1, -1, -1, -1, -1, -1, -1, -1, 3015, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1778, 1779, 1780, 6760, 1782, -1, -1, 6764, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1802, 6782, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6823, 6824, -1, -1, 6827, -1, -1, -1, 6831, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6844, 6845, -1, -1, -1, -1, -1, -1, -1, -1, 1975, -1, -1, -1, -1, -1, 1881, -1, -1, -1, 1885, 1886, -1, -1, -1, -1, -1, -1, -1, -1, 3152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3168, 3169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3187, 3188, -1, -1, -1, 3192, 3193, -1, -1, -1, 3197, 3198, -1, 2043, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3212, -1, -1, -1, -1, -1, -1, 3219, -1, -1, -1, 3223, 3224, -1, -1, 3227, 3228, -1, -1, -1, -1, -1, 3234, -1, -1, 2080, -1, -1, -1, -1, -1, -1, -1, -1, 3246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3258, -1, -1, -1, -1, 3263, -1, -1, -1, -1, -1, -1, 2113, -1, -1, -1, -1, -1, -1, -1, 3278, -1, -1, 1975, -1, -1, -1, -1, -1, 3287, -1, -1, 3290, -1, 3292, 3293, 3294, -1, -1, -1, -1, 3299, 3300, -1, -1, -1, -1, -1, -1, -1, -1, 3309, -1, -1, -1, -1, -1, 3315, -1, -1, -1, 3319, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3329, 3330, -1, -1, -1, 3334, -1, -1, -1, -1, -1, 3340, 3341, -1, -1, -1, -1, -1, -1, -1, 2043, -1, -1, -1, -1, 3354, -1, -1, 3357, -1, -1, -1, -1, -1, -1, 3364, 3365, -1, -1, -1, -1, 3370, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2223, -1, 3382, -1, -1, 3385, 2080, -1, -1, -1, 3390, 2234, -1, -1, -1, -1, 3396, 3397, -1, 3399, -1, 3401, -1, -1, 3404, 3405, -1, 2250, 3408, -1, -1, -1, 3412, 3413, 3414, 3415, -1, 3417, -1, 2113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3430, 3431, -1, 3433, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3444, 3445, 3446, -1, -1, -1, -1, 2194, 2195, 2196, -1, -1, -1, -1, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, 3501, -1, -1, -1, -1, -1, -1, 2351, 3509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3008, -1, -1, 3528, 2223, -1, -1, 3015, -1, -1, -1, -1, -1, -1, -1, 2234, -1, 3025, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3578, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2304, -1, -1, -1, -1, -1, -1, -1, -1, 3619, -1, 3621, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1794, 2351, 3141, -1, -1, 3661, -1, -1, 3147, -1, 3149, -1, -1, 3152, -1, -1, -1, -1, -1, -1, 3676, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2391, 2392, -1, -1, -1, -1, -1, 2547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3204, -1, -1, -1, -1, 1864, -1, -1, -1, 3730, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2499, -1, -1, -1, -1, -1, -1, -1, -1, 2508, 2509, 2510, 2511, -1, -1, -1, 2515, -1, 2517, -1, 2519, -1, -1, 2522, 2523, 2524, -1, -1, -1, -1, -1, 2530, -1, -1, 2533, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2548, 2549, 2550, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3375, -1, -1, -1, -1, -1, -1, -1, 3383, -1, -1, 3386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3398, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 946, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 958, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2710, 969, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 988, -1, -1, -1, -1, -1, 994, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2757, -1, -1, -1, -1, 4019, -1, -1, -1, -1, 4024, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4044, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4061, 2200, -1, -1, 4065, 2204, 2810, -1, -1, 4070, 4071, 4072, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4106, 4107, 4108, 4109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4136, -1, -1, -1, -1, -1, -1, -1, 4144, -1, 4146, 4147, 4148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3661, 3662, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3679, -1, -1, -1, 1201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1244, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, -1, 2997, -1, -1, -1, -1, -1, -1, -1, 4262, -1, -1, -1, 3009, -1, -1, 3012, -1, 4271, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4297, 4298, -1, -1, -1, 4302, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4324, 3068, -1, -1, -1, 3072, -1, 3174, 3075, -1, 3077, 3178, 3179, 3080, -1, -1, -1, -1, -1, -1, 1345, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2497, -1, 3104, 3105, -1, -1, -1, -1, -1, 4368, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2516, 4379, -1, -1, 2520, -1, 4384, -1, -1, -1, -1, -1, 4390, -1, -1, -1, -1, 3238, -1, 2535, 2536, 2537, -1, 3244, 2540, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3899, -1, -1, -1, 4420, 3904, -1, -1, -1, -1, -1, -1, -1, -1, 4430, -1, -1, 4433, -1, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1461, -1, -1, -1, -1, -1, -1, -1, 4468, -1, 4470, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3174, -1, 3225, -1, 3178, 3179, -1, 4487, 1489, 1490, 1491, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3238, -1, -1, -1, -1, -1, 3244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3285, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1664, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3458, 3459, 3460, -1, -1, -1, 3464, 3565, -1, -1, -1, 3569, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3491, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4786, -1, -1, 4789, -1, 4791, -1, -1, -1, -1, -1, -1, 3492, -1, -1, -1, -1, -1, 4804, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4816, -1, -1, -1, 4820, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4318, -1, -1, -1, 4839, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1855, -1, -1, 4857, -1, -1, -1, -1, -1, 4863, -1, 3708, -1, 3005, -1, -1, -1, 3565, -1, -1, -1, 3569, -1, -1, -1, -1, 3723, -1, -1, -1, -1, 3728, -1, -1, 4888, -1, -1, -1, 4892, -1, -1, -1, 1897, -1, -1, -1, -1, 4384, -1, -1, -1, -1, -1, 4907, 4908, 4909, 4910, -1, -1, 3756, -1, -1, -1, 4917, 4918, 4919, 4920, -1, -1, -1, -1, -1, 4926, 4927, -1, -1, -1, -1, 4932, 4933, -1, 4935, 4936, 4937, 4938, 4939, 4940, 4941, -1, -1, -1, -1, -1, -1, -1, -1, 4433, 4951, -1, 3091, -1, 4955, 4956, 4957, 4958, -1, -1, -1, -1, -1, -1, 3103, -1, -1, -1, -1, 3108, -1, -1, -1, -1, -1, -1, -1, -1, 4979, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3736, -1, -1, -1, 4997, 3741, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723, -1, -1, -1, -1, 3728, -1, -1, -1, -1, -1, 4523, -1, 3785, -1, -1, -1, -1, -1, 2049, -1, -1, -1, -1, 3796, -1, 3798, 3799, 2058, -1, -1, -1, -1, 3756, -1, -1, -1, -1, -1, -1, 3812, -1, -1, 3815, 5073, 3817, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2086, -1, -1, -1, -1, -1, 2092, 2093, -1, -1, 2096, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5106, -1, 2109, -1, 3853, 2112, 3855, -1, 3857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5128, -1, 5130, -1, -1, -1, -1, -1, -1, -1, 5138, 5139, 5140, 5141, 5142, -1, -1, -1, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, 5159, -1, -1, -1, -1, -1, -1, -1, 2168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3921, -1, -1, 2182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, 2210, -1, -1, -1, -1, 4057, -1, -1, -1, -1, -1, 2221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4082, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2263, 2264, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4759, -1, -1, 4022, -1, -1, -1, -1, -1, -1, -1, 2288, -1, -1, -1, -1, -1, -1, 2295, -1, 3990, -1, -1, 3993, -1, 3995, -1, -1, -1, -1, 4000, -1, -1, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, 4057, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, 5385, 5386, 5387, 4082, -1, -1, 5391, 5392, 5393, 5394, -1, -1, -1, 5398, -1, -1, -1, -1, 4886, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, 2415, -1, -1, 4900, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4911, -1, -1, -1, -1, -1, -1, -1, 5436, 5437, 5438, 5439, 5440, -1, 5442, 5443, -1, -1, -1, 4290, -1, -1, -1, -1, -1, -1, 5454, 5455, 2457, 2458, 4152, -1, 4154, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4318, -1, 2478, -1, -1, 2481, -1, -1, -1, -1, -1, -1, -1, 5488, -1, -1, -1, -1, -1, -1, -1, 5496, 5497, -1, 5499, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4275, -1, -1, -1, -1, -1, 4281, -1, -1, -1, -1, -1, -1, -1, 4389, -1, -1, -1, -1, -1, -1, -1, 4248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5590, -1, 4435, -1, 5077, -1, 4290, -1, -1, -1, -1, 3739, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4360, -1, -1, -1, 3759, -1, -1, 4318, -1, 3764, -1, -1, -1, -1, -1, 3770, -1, -1, -1, -1, 3775, 3776, -1, 3778, -1, -1, -1, -1, 3783, 3784, -1, 3786, -1, 3788, -1, -1, -1, 3792, -1, -1, 3795, -1, -1, -1, 5144, 3800, -1, -1, -1, 5666, -1, -1, -1, -1, 3809, -1, -1, -1, -1, 3814, -1, -1, -1, -1, -1, -1, 3821, 3822, 3823, 3824, -1, -1, -1, 3828, 3829, -1, 3831, 4537, 4389, -1, -1, 5698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3850, -1, 3852, -1, -1, 4411, -1, -1, -1, 3859, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, -1, -1, -1, -1, -1, -1, 4580, -1, -1, -1, 4435, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4605, -1, -1, -1, -1, -1, -1, 5769, -1, -1, -1, -1, -1, -1, 3914, -1, -1, -1, -1, -1, -1, -1, 5784, -1, -1, -1, -1, -1, -1, 4534, -1, -1, -1, -1, -1, -1, -1, -1, 4543, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4553, -1, -1, -1, 4557, 4558, -1, -1, -1, -1, 4563, -1, -1, -1, -1, -1, -1, -1, 4571, -1, 4573, -1, -1, -1, -1, -1, -1, 5320, -1, -1, -1, -1, -1, 4537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4600, 4601, 4602, -1, -1, -1, -1, -1, -1, 5866, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4619, -1, -1, -1, -1, -1, -1, -1, 4627, 5885, 4580, 4630, -1, 4632, -1, 5891, 5892, -1, -1, -1, -1, -1, -1, 4037, -1, 5901, -1, -1, -1, -1, -1, 4650, 5908, -1, -1, 4605, -1, -1, -1, 4658, 4659, -1, -1, -1, -1, -1, 4665, -1, 5407, -1, -1, 4770, -1, -1, 5413, -1, -1, -1, 5417, -1, -1, -1, -1, -1, -1, -1, -1, 5943, 5944, -1, -1, 4690, -1, -1, -1, -1, -1, -1, -1, -1, 5956, -1, 5958, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5973, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4737, -1, -1, -1, 5998, -1, -1, -1, -1, -1, -1, -1, -1, 3008, -1, 6009, -1, 4754, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3034, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, 6048, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6059, -1, -1, -1, -1, -1, 3066, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6075, 4770, -1, -1, -1, -1, -1, -1, 3084, 3085, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6099, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6110, -1, -1, -1, -1, -1, -1, 3118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6136, -1, -1, -1, -1, 4279, 4280, -1, -1, -1, 4284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1, -1, -1, -1, -1, 4313, -1, 6177, -1, -1, -1, -1, -1, -1, -1, 5028, -1, -1, -1, -1, -1, -1, 4886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5077, -1, -1, 5080, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6280, -1, -1, -1, -1, -1, -1, -1, 3289, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5801, -1, -1, -1, -1, 3324, -1, -1, -1, 6327, -1, -1, -1, -1, -1, -1, 5028, -1, -1, -1, 5081, 5082, -1, 6341, -1, -1, -1, -1, -1, -1, -1, 5092, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5864, -1, 5077, -1, -1, 5080, -1, -1, -1, -1, -1, -1, -1, -1, 4533, -1, -1, -1, -1, 6400, 4539, -1, -1, 5247, -1, -1, -1, -1, 3410, 3411, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5178, -1, -1, -1, 4577, 4578, -1, -1, 4581, 4582, 4583, 4584, -1, 5191, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, -1, -1, 5205, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5958, -1, -1, -1, -1, -1, -1, 4620, -1, -1, 4623, -1, 4625, -1, -1, 4628, 4629, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5244, 5245, 6503, -1, -1, -1, -1, 5251, 5252, 3511, -1, -1, 5256, 4652, 4653, 4654, 4655, -1, 4657, 5263, -1, -1, 5266, 5267, -1, -1, -1, -1, -1, 5273, -1, -1, -1, -1, 6535, -1, -1, -1, -1, -1, 5384, -1, -1, -1, -1, 6546, -1, -1, -1, -1, -1, -1, 5247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5424, -1, -1, -1, -1, -1, -1, -1, -1, 5333, -1, -1, -1, -1, -1, -1, -1, 5341, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5366, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4779, -1, -1, -1, -1, -1, -1, 6648, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5384, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5469, -1, -1, -1, 5424, -1, -1, 5476, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5640, -1, -1, -1, 5544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4998, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3883, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5041, -1, -1, -1, -1, -1, -1, -1, -1, 3913, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5640, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5712, -1, -1, -1, -1, -1, 5718, 5719, 5720, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5745, 5746, -1, -1, 5749, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5864, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5179, -1, -1, 5787, 5183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5201, 5202, -1, -1, -1, 5811, 5207, 5208, 5209, 5210, -1, -1, -1, 5214, 5215, 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 5224, 5225, 5226, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5250, -1, -1, 5253, -1, 5255, -1, -1, -1, -1, -1, 5261, -1, -1, 5264, 5265, -1, -1, 5268, 5269, -1, -1, -1, -1, 5274, -1, -1, -1, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4160, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4170, 5864, -1, -1, -1, -1, -1, 5314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5332, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5346, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6111, -1, -1, -1, -1, 6116, 6117, -1, -1, -1, -1, -1, -1, 6024, -1, -1, -1, -1, -1, -1, -1, -1, 5984, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6051, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6062, -1, -1, -1, -1, -1, -1, -1, -1, 4329, 4330, 4331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6121, -1, -1, 4382, 4383, -1, -1, -1, 4387, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5547, -1, -1, -1, -1, -1, -1, -1, 6111, -1, -1, 6163, -1, 6116, 6117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5635, 5636, -1, -1, -1, -1, -1, -1, 5643, -1, -1, -1, -1, -1, -1, 6255, -1, 4515, -1, -1, -1, -1, -1, -1, 6264, 6265, 6266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6290, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5696, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5714, 5715, -1, -1, -1, -1, -1, -1, -1, -1, 6329, -1, -1, -1, -1, -1, -1, -1, -1, 5733, -1, 5735, -1, -1, -1, 5739, 5740, 5741, -1, -1, 5744, -1, -1, 5747, 5748, -1, -1, -1, -1, 5753, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6469, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5810, 4674, 4675, 4676, -1, -1, -1, -1, -1, -1, -1, 5821, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6451, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6478, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6488, -1, -1, 5886, -1, 5888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6469, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5923, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6558, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6582, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6606, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6017, -1, 6019, 6020, 6021, 6022, 6023, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6036, 6037, 6038, -1, -1, -1, -1, -1, -1, 6045, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6684, -1, -1, 6082, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5005, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6760, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5037, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5069, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6823, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6272, 5136, -1, 6275, -1, -1, -1, 6279, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6340, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5277, 5278, 5279, 5280, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6447, -1, -1, -1, -1, -1, -1, 6454, -1, -1, -1, -1, -1, -1, -1, -1, 6463, -1, 6465, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6615, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6682, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6693, -1, -1, -1, -1, 6698, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6755, -1, -1, 6758, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5633, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5644, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6791, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5937, -1, -1, -1, -1, 5942, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5961, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6095, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, 6196, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6225, 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, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 589, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, 204, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 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, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, 564, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 584, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 584, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 584, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 584, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 584, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 584, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 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, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, 564, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 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, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, 564, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 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, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, 244, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, 106, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 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, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, 106, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 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, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, 581, 582, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 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, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, 244, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, -1, -1, -1, -1, 583, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, -1, 81, 82, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 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, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 564, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, 108, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, -1, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, 584, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 564, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 583, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 564, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 583, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 582, 583, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, 583, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 583, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, 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, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -1, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -1, 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, -1, 225, 226, 227, 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -1, 253, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, 306, 307, 308, -1, 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, -1, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -1, 393, -1, 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, -1, 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, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -1, 498, 499, 500, -1, 502, -1, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, 80, 81, -1, -1, -1, -1, -1, 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, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, -1, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, -1, 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, -1, 225, 226, 227, 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, -1, 253, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, -1, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, 306, 307, 308, -1, 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, -1, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, -1, 393, -1, 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, -1, 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, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, -1, 498, 499, 500, -1, 502, -1, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 576, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 576, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 576, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, 576, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, 244, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 574, 575, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, 244, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 574, 575, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, 244, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 574, 575, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, 244, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, 574, 575, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 4, -1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 573, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 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, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, 75, 76, -1, 78, 79, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, 355, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, 238, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, 285, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 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, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, -1, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, -1, 141, -1, 143, 144, 145, 146, -1, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, -1, -1, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, -1, 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, -1, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, -1, -1, -1, 255, 256, -1, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, -1, -1, 282, 283, 284, -1, -1, -1, -1, -1, 290, 291, 292, 293, 294, 295, -1, -1, -1, -1, 300, 301, 302, 303, 304, 305, -1, -1, 308, -1, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, -1, 340, 341, 342, 343, 344, 345, 346, -1, -1, 349, -1, 351, 352, 353, 354, -1, -1, 357, -1, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, -1, 375, 376, 377, -1, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, -1, 393, -1, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, -1, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, -1, 458, 459, 460, 461, 462, -1, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, -1, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, -1, 499, 500, -1, 502, -1, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, -1, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 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, -1, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, 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, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, 284, -1, 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, -1, 331, 332, -1, 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, -1, 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, -1, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, -1, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -1, -1, 150, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, 240, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, 240, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, 250, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 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, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, 250, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 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, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, 240, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, 172, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 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, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, 240, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 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, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, 70, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, 366, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, 108, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, 108, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, 108, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, -1, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 6, 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, -1, 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 37, 38, -1, 40, -1, -1, 43, 44, -1, -1, -1, 48, 49, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, 65, -1, 67, 68, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, -1, 119, 120, 121, 122, 123, -1, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, 146, 147, -1, -1, -1, 151, 152, 153, 154, 155, 156, -1, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, -1, -1, 170, 171, -1, -1, -1, -1, -1, -1, -1, -1, 180, 181, 182, 183, 184, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, -1, -1, -1, 246, 247, 248, 249, -1, 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, -1, -1, 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, -1, 311, -1, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, -1, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, -1, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, -1, 376, -1, 378, 379, 380, 381, 382, 383, 384, 385, -1, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, -1, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, -1, 432, 433, 434, 435, 436, 437, -1, 439, 440, 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, -1, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, -1, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, -1, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, -1, -1, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, 448, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, 527, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 561, -1, -1, 564, -1, 69, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, 80, -1, -1, 83, -1, -1, 583, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, 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, -1, -1, 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, -1, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, -1, 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, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, -1, 234, 235, 236, 237, -1, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 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, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 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, -1, 363, 364, -1, 366, 367, 368, 369, 370, -1, 372, 373, 374, 375, -1, -1, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, -1, 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, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 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, -1, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, -1, 531, 532, 533, 534, 535, 536, -1, 538, -1, -1, -1, -1, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, -1, 562, -1, -1, -1, -1, -1, -1, -1, -1, 571, 572, 573, 574, 575, 576, 577, 578, 579, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, 574, 575, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, 574, 575, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 69, 70, -1, -1, 73, -1, 75, 76, -1, -1, -1, -1, 81, 574, 575, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 574, 575, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, 103, 104, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 561, 69, 70, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, 497, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560, 69, 70, -1, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, 520, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, 253, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, 175, 176, -1, -1, 179, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, 189, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 69, 559, 560, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, 110, 111, 112, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, -1, -1, 137, 138, -1, 140, 141, -1, 143, 144, 145, 146, 147, -1, 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, -1, -1, 162, 163, 164, 165, 166, 167, -1, 169, 170, 171, -1, -1, -1, -1, 176, -1, -1, -1, 180, 181, 182, 183, -1, 185, 186, 187, 188, -1, 190, -1, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, -1, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, 236, 237, -1, 239, -1, 241, 242, 243, -1, 245, 246, 247, 248, 249, -1, 251, 252, -1, 254, 255, 256, -1, 258, 259, -1, 261, 262, 263, 264, 265, 266, 267, -1, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, -1, 282, 283, 284, -1, 286, -1, 288, -1, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, -1, -1, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, -1, 351, 352, 353, 354, -1, 356, 357, 358, 359, 360, 361, -1, 363, 364, -1, -1, 367, 368, 369, -1, -1, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, -1, 390, 391, 392, 393, 394, 395, 396, 397, -1, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, -1, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, -1, 447, -1, 449, 450, 451, 452, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, -1, -1, 486, 487, 488, 489, 490, 491, 492, -1, 494, 495, 496, -1, -1, 499, 500, 501, 502, 503, -1, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, 515, 516, 517, 518, 519, -1, -1, 522, 523, 524, 525, 526, -1, 528, -1, 530, 531, 532, 533, 534, 535, -1, -1, 538, -1, -1, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, -1, 559, 560 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { 0, 592, 1285, 0, 5, 24, 34, 35, 39, 41, 42, 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, 71, 73, 75, 76, 81, 139, 216, 236, 260, 285, 330, 333, 355, 446, 497, 513, 528, 558, 573, 574, 575, 576, 577, 578, 581, 582, 583, 584, 586, 587, 588, 589, 590, 1273, 1286, 1316, 1318, 1408, 1418, 1419, 1421, 1427, 1428, 1317, 3, 8, 12, 14, 16, 17, 27, 35, 41, 42, 43, 44, 48, 49, 54, 63, 65, 67, 68, 73, 90, 101, 103, 104, 115, 121, 131, 143, 145, 146, 152, 154, 166, 168, 183, 185, 187, 188, 203, 205, 209, 215, 216, 223, 225, 232, 236, 250, 267, 288, 314, 315, 320, 334, 352, 358, 396, 410, 416, 417, 419, 424, 430, 433, 440, 447, 448, 455, 459, 469, 485, 496, 505, 507, 513, 516, 522, 527, 528, 540, 564, 583, 593, 594, 599, 600, 606, 607, 609, 610, 611, 612, 614, 617, 629, 634, 635, 638, 639, 640, 658, 661, 662, 677, 726, 729, 732, 735, 736, 737, 745, 752, 754, 755, 758, 761, 762, 766, 775, 779, 780, 781, 784, 786, 787, 788, 789, 797, 799, 819, 823, 825, 826, 836, 838, 845, 846, 849, 850, 851, 852, 853, 862, 864, 866, 869, 873, 874, 884, 885, 890, 895, 906, 938, 941, 942, 943, 948, 951, 953, 955, 957, 958, 962, 963, 966, 968, 969, 973, 974, 975, 978, 979, 980, 981, 982, 989, 991, 992, 993, 994, 1000, 1002, 1003, 1009, 1010, 1011, 1014, 1015, 1016, 1017, 1019, 1020, 1022, 1023, 1025, 1026, 1028, 1040, 1042, 1045, 1047, 1056, 1058, 1063, 1068, 1076, 1080, 1081, 1082, 1083, 1084, 1085, 1091, 1126, 1287, 1290, 1291, 1308, 1309, 1310, 1311, 1312, 1323, 1325, 1329, 1330, 1331, 1332, 1333, 1335, 1337, 1339, 1340, 1341, 1342, 1344, 1349, 1350, 1354, 1355, 1364, 1366, 1367, 1368, 1371, 1376, 1379, 1384, 1386, 1387, 1390, 1392, 1429, 71, 1312, 1320, 1321, 13, 70, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134, 137, 138, 140, 141, 143, 144, 145, 146, 147, 149, 151, 152, 153, 154, 155, 156, 157, 158, 159, 162, 163, 164, 165, 166, 167, 169, 170, 171, 175, 176, 179, 180, 181, 182, 183, 185, 186, 187, 188, 190, 192, 193, 194, 195, 196, 197, 198, 200, 201, 202, 203, 206, 207, 208, 209, 210, 212, 213, 214, 216, 217, 218, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 231, 233, 234, 235, 236, 237, 239, 241, 242, 243, 245, 246, 247, 248, 249, 251, 252, 254, 255, 256, 258, 259, 261, 262, 263, 264, 265, 266, 267, 269, 270, 271, 272, 273, 274, 275, 276, 278, 279, 280, 282, 283, 284, 286, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 308, 309, 310, 311, 312, 314, 315, 316, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 351, 352, 353, 354, 356, 357, 358, 359, 360, 361, 363, 364, 367, 368, 369, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 447, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 482, 483, 486, 487, 488, 489, 490, 491, 492, 494, 495, 496, 497, 499, 500, 501, 502, 503, 505, 506, 507, 508, 509, 510, 511, 512, 515, 516, 517, 518, 519, 522, 523, 524, 525, 526, 528, 530, 531, 532, 533, 534, 535, 538, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 559, 560, 1275, 1276, 1278, 1280, 1281, 1282, 1301, 1302, 1413, 1415, 1419, 1421, 28, 281, 1365, 6, 7, 8, 9, 10, 11, 12, 14, 15, 18, 19, 20, 21, 22, 23, 25, 26, 27, 30, 31, 32, 33, 36, 37, 38, 40, 43, 44, 48, 49, 54, 63, 65, 67, 68, 99, 139, 160, 172, 184, 189, 260, 330, 333, 446, 527, 558, 1268, 1280, 1281, 1303, 1351, 1352, 1394, 1395, 1396, 1400, 1404, 1405, 1406, 1415, 1421, 99, 1077, 1268, 1303, 1412, 13, 1077, 5, 24, 28, 34, 35, 41, 42, 99, 103, 104, 105, 106, 107, 108, 109, 113, 127, 135, 136, 139, 142, 148, 150, 160, 161, 168, 172, 173, 174, 175, 177, 178, 179, 189, 191, 199, 204, 205, 211, 215, 219, 230, 232, 238, 240, 244, 250, 253, 257, 268, 277, 281, 285, 287, 289, 306, 307, 313, 317, 318, 350, 355, 362, 365, 366, 370, 371, 389, 398, 414, 428, 448, 454, 465, 481, 484, 485, 493, 497, 498, 504, 513, 514, 520, 521, 527, 529, 536, 537, 539, 540, 1280, 1281, 1282, 1283, 1395, 1396, 1397, 1398, 1402, 1403, 1404, 1406, 1421, 24, 34, 139, 285, 1391, 36, 38, 350, 1324, 184, 260, 330, 333, 446, 558, 583, 1182, 1183, 1315, 499, 543, 995, 98, 149, 165, 183, 189, 207, 218, 227, 240, 246, 253, 273, 304, 326, 367, 391, 401, 402, 405, 432, 435, 439, 442, 449, 452, 471, 478, 483, 485, 488, 492, 502, 507, 520, 533, 751, 1352, 188, 995, 1187, 1271, 1282, 1394, 1397, 1400, 1401, 1404, 1405, 1421, 99, 1077, 531, 583, 1033, 365, 397, 995, 124, 583, 669, 93, 111, 136, 149, 183, 189, 207, 218, 227, 240, 249, 253, 316, 367, 370, 391, 405, 432, 442, 452, 471, 478, 488, 489, 491, 492, 507, 514, 517, 520, 678, 734, 841, 896, 907, 1268, 1292, 1293, 1294, 1303, 1419, 1421, 13, 99, 396, 1268, 1303, 1307, 583, 470, 1077, 1268, 1303, 1307, 99, 390, 450, 489, 491, 303, 949, 950, 1419, 93, 98, 136, 149, 165, 183, 207, 218, 227, 240, 246, 253, 273, 326, 367, 380, 391, 402, 405, 432, 435, 439, 442, 449, 452, 471, 478, 485, 488, 492, 500, 502, 507, 520, 533, 751, 854, 856, 857, 995, 589, 1334, 1398, 264, 1307, 168, 188, 223, 531, 583, 732, 735, 1028, 1041, 1045, 1047, 1056, 1063, 1068, 1076, 1080, 1287, 92, 99, 119, 235, 242, 244, 268, 305, 341, 399, 418, 574, 575, 870, 871, 1077, 1273, 1274, 1413, 1415, 99, 101, 168, 414, 448, 875, 876, 877, 1400, 240, 1315, 1400, 1270, 1419, 485, 1094, 119, 242, 870, 1400, 583, 499, 1307, 380, 326, 583, 961, 440, 1400, 99, 139, 453, 495, 499, 527, 621, 630, 631, 1280, 1281, 1394, 1399, 1404, 1406, 1421, 250, 875, 876, 1400, 397, 995, 1400, 302, 99, 204, 1096, 1097, 4, 13, 137, 160, 162, 316, 336, 432, 442, 453, 495, 499, 546, 618, 619, 620, 621, 99, 453, 495, 499, 621, 499, 366, 1138, 1139, 1266, 1400, 1094, 1388, 1398, 576, 1400, 245, 583, 1034, 583, 412, 1086, 1087, 1268, 1086, 1081, 1082, 1085, 587, 583, 1033, 219, 287, 371, 513, 1098, 1099, 1081, 1083, 1084, 194, 283, 328, 519, 586, 121, 593, 1332, 1335, 1331, 1327, 587, 1336, 1338, 5, 24, 34, 139, 208, 285, 1343, 1319, 1408, 71, 1312, 1268, 1303, 1422, 189, 1292, 20, 521, 577, 1307, 1307, 1422, 521, 1356, 1357, 1358, 24, 285, 285, 1402, 18, 19, 37, 40, 131, 164, 205, 1393, 1393, 15, 1332, 497, 497, 497, 497, 583, 497, 574, 575, 743, 1274, 1313, 1418, 105, 999, 923, 1271, 859, 1400, 859, 1268, 400, 859, 502, 1268, 182, 485, 911, 1271, 1282, 1400, 1275, 1276, 99, 262, 1266, 359, 533, 80, 87, 88, 89, 144, 231, 571, 572, 573, 574, 575, 576, 577, 578, 579, 945, 947, 1218, 1219, 1400, 262, 1268, 911, 1268, 99, 1275, 1276, 911, 1268, 1268, 262, 1266, 1268, 262, 859, 1268, 424, 455, 99, 262, 1138, 1268, 445, 1268, 859, 99, 323, 1275, 1276, 262, 1266, 303, 33, 191, 293, 350, 408, 996, 997, 998, 583, 581, 585, 1244, 1246, 561, 1027, 1028, 1029, 1030, 1278, 1266, 1268, 1400, 98, 136, 150, 161, 183, 207, 246, 273, 304, 367, 402, 432, 435, 478, 488, 500, 507, 854, 855, 856, 857, 1419, 999, 1044, 1047, 1056, 1063, 1068, 1080, 1266, 329, 859, 583, 262, 859, 1268, 859, 502, 262, 1268, 182, 485, 489, 491, 1275, 489, 491, 144, 231, 945, 422, 1268, 1268, 1275, 262, 595, 1400, 262, 1268, 262, 596, 859, 1268, 1268, 445, 859, 323, 1275, 412, 449, 485, 533, 326, 165, 273, 98, 161, 246, 402, 439, 500, 502, 506, 746, 80, 1295, 1296, 588, 1415, 1422, 99, 1307, 1313, 1421, 1078, 470, 628, 1278, 1419, 950, 329, 262, 923, 924, 262, 954, 262, 1268, 123, 125, 126, 139, 140, 186, 187, 208, 236, 262, 285, 286, 288, 337, 339, 358, 409, 457, 463, 495, 496, 528, 861, 1161, 1163, 1165, 1167, 1169, 1171, 1172, 1173, 1175, 1176, 1177, 1179, 1180, 1394, 1401, 1404, 1405, 1421, 502, 182, 485, 262, 910, 911, 262, 1276, 1277, 157, 533, 144, 231, 262, 946, 947, 129, 262, 910, 262, 1277, 262, 910, 262, 1268, 262, 1268, 445, 954, 262, 861, 262, 323, 1277, 303, 262, 858, 859, 262, 1267, 1268, 262, 1268, 999, 583, 589, 1423, 1424, 1425, 1426, 1428, 1334, 69, 1303, 1353, 583, 1046, 678, 1077, 1041, 1027, 1033, 1274, 871, 872, 99, 871, 1077, 1274, 872, 99, 871, 1077, 1274, 872, 872, 872, 1274, 1273, 1273, 289, 521, 1358, 1359, 1432, 1434, 1077, 872, 400, 583, 483, 583, 703, 703, 703, 365, 497, 586, 703, 442, 1138, 1140, 871, 1077, 871, 1077, 586, 990, 1313, 1419, 244, 583, 1043, 129, 533, 1027, 183, 273, 442, 483, 485, 959, 960, 1400, 118, 560, 293, 585, 368, 365, 244, 368, 1419, 497, 999, 238, 867, 365, 78, 79, 80, 82, 107, 123, 125, 126, 135, 136, 139, 140, 147, 149, 173, 174, 175, 176, 177, 178, 179, 186, 187, 189, 224, 229, 230, 236, 252, 254, 286, 288, 296, 297, 298, 299, 309, 317, 318, 337, 339, 348, 350, 355, 356, 358, 367, 378, 392, 409, 437, 454, 463, 479, 484, 495, 496, 501, 503, 504, 514, 520, 528, 548, 549, 550, 551, 553, 554, 555, 556, 562, 574, 575, 576, 583, 1081, 1164, 1167, 1170, 1171, 1172, 1174, 1175, 1176, 1179, 1180, 1184, 1186, 1187, 1188, 1190, 1214, 1215, 1216, 1220, 1238, 1243, 1260, 1263, 1264, 1271, 1272, 1273, 1400, 1411, 1413, 1415, 1416, 1417, 1418, 1419, 1420, 1262, 1263, 497, 573, 1422, 1419, 497, 573, 1352, 99, 636, 1265, 1266, 453, 618, 189, 627, 1419, 628, 1419, 118, 141, 618, 560, 464, 997, 368, 244, 497, 573, 118, 560, 293, 1432, 998, 583, 1266, 576, 1246, 1140, 1403, 1027, 243, 1035, 1184, 1223, 1086, 586, 583, 1036, 584, 584, 1027, 1037, 1038, 1039, 1266, 99, 204, 1095, 1095, 129, 1095, 232, 238, 313, 362, 1102, 1104, 1105, 1120, 1122, 1123, 1124, 1098, 1099, 244, 289, 289, 1138, 1141, 583, 587, 1326, 576, 1345, 1346, 1348, 589, 589, 24, 285, 285, 215, 108, 1299, 129, 1302, 1302, 289, 1358, 1360, 289, 1358, 1359, 1360, 526, 1369, 1370, 1415, 13, 466, 574, 575, 1273, 1361, 1362, 1363, 1411, 1413, 1417, 1418, 1419, 1420, 285, 291, 497, 1268, 1268, 6, 164, 1268, 1393, 1348, 184, 260, 330, 1183, 330, 1183, 1183, 333, 1273, 330, 333, 446, 1418, 1418, 586, 1314, 138, 346, 381, 420, 455, 583, 921, 381, 416, 420, 455, 585, 860, 381, 420, 455, 160, 213, 319, 381, 416, 420, 455, 488, 490, 540, 629, 632, 1004, 1005, 1006, 1007, 1421, 891, 95, 209, 381, 420, 455, 524, 645, 1268, 95, 209, 455, 519, 613, 544, 262, 1138, 132, 167, 228, 265, 308, 346, 350, 381, 382, 420, 429, 438, 447, 455, 467, 476, 480, 535, 629, 633, 927, 939, 967, 583, 908, 1246, 420, 613, 268, 224, 95, 101, 116, 146, 202, 209, 212, 239, 275, 346, 350, 360, 369, 381, 420, 423, 424, 455, 524, 641, 643, 644, 769, 967, 743, 99, 262, 1266, 859, 859, 583, 944, 381, 455, 585, 224, 365, 381, 420, 455, 939, 967, 95, 209, 381, 420, 455, 268, 608, 420, 540, 564, 601, 608, 381, 420, 455, 939, 967, 365, 381, 420, 224, 108, 130, 181, 271, 327, 331, 346, 380, 420, 425, 449, 455, 469, 641, 740, 741, 381, 420, 532, 769, 777, 224, 381, 420, 455, 95, 160, 202, 209, 212, 381, 416, 420, 455, 462, 631, 619, 621, 268, 224, 116, 200, 346, 420, 455, 641, 642, 381, 420, 424, 455, 158, 201, 384, 490, 365, 95, 101, 209, 381, 420, 455, 659, 660, 608, 238, 420, 601, 608, 224, 420, 455, 641, 1268, 587, 311, 191, 366, 545, 586, 996, 99, 204, 529, 576, 584, 916, 1184, 1224, 1225, 1401, 1184, 1245, 576, 1269, 1402, 1244, 584, 586, 230, 365, 504, 625, 628, 743, 1031, 521, 1024, 365, 923, 583, 859, 1268, 1161, 911, 359, 144, 231, 947, 911, 911, 238, 1161, 859, 1268, 1268, 584, 703, 1268, 142, 1161, 350, 244, 583, 827, 601, 108, 1018, 1268, 350, 601, 544, 262, 1266, 601, 859, 859, 827, 517, 678, 365, 238, 540, 935, 601, 350, 118, 615, 350, 507, 776, 350, 1036, 160, 381, 753, 158, 201, 384, 490, 108, 827, 238, 262, 601, 533, 262, 1266, 262, 730, 1266, 1266, 533, 859, 157, 597, 1271, 502, 1271, 1271, 1268, 238, 1268, 751, 72, 1297, 1400, 588, 1298, 1295, 1314, 110, 124, 180, 282, 346, 444, 224, 133, 426, 586, 598, 224, 583, 224, 601, 530, 1178, 1178, 1178, 583, 1166, 1166, 394, 583, 1168, 224, 139, 140, 1178, 1166, 1163, 564, 565, 583, 1181, 583, 1181, 586, 598, 107, 1162, 583, 184, 333, 558, 583, 1182, 860, 1166, 544, 224, 586, 598, 224, 586, 262, 858, 262, 859, 262, 859, 224, 586, 598, 1277, 224, 598, 224, 224, 598, 224, 598, 224, 158, 201, 384, 490, 238, 224, 598, 224, 238, 262, 224, 586, 598, 224, 586, 598, 224, 365, 584, 1424, 1425, 1423, 586, 590, 1223, 1357, 1431, 1432, 485, 1078, 584, 1041, 872, 1077, 872, 1077, 1434, 1435, 872, 1077, 872, 1077, 1435, 872, 1077, 1077, 1077, 872, 13, 466, 1407, 1410, 1415, 1077, 583, 704, 705, 1400, 704, 99, 183, 207, 240, 246, 303, 304, 383, 402, 435, 442, 449, 485, 488, 507, 880, 1265, 1277, 877, 1268, 268, 586, 1059, 1077, 1077, 1419, 1314, 1353, 1161, 1227, 108, 1277, 597, 584, 597, 597, 597, 311, 1400, 238, 880, 1277, 238, 440, 1400, 628, 365, 583, 581, 1081, 1228, 1184, 1242, 583, 583, 238, 583, 583, 1081, 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, 1184, 583, 583, 583, 583, 583, 583, 583, 583, 357, 694, 583, 583, 583, 583, 583, 583, 583, 583, 1184, 1184, 1184, 527, 1081, 1184, 1223, 1246, 1419, 583, 1419, 80, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 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, 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, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 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, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 234, 235, 236, 237, 239, 240, 241, 242, 243, 245, 246, 247, 248, 249, 251, 252, 254, 255, 256, 258, 259, 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, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 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, 363, 364, 366, 367, 368, 369, 370, 372, 373, 374, 375, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 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, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 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, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 531, 532, 533, 534, 535, 536, 538, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 559, 560, 562, 571, 572, 573, 574, 575, 576, 577, 578, 579, 1218, 1220, 1222, 1279, 1284, 1421, 541, 1201, 377, 1184, 233, 1202, 289, 586, 1092, 1432, 583, 1419, 1246, 21, 1414, 1415, 1247, 1092, 361, 365, 1385, 1385, 9, 526, 1372, 1373, 1375, 1352, 1352, 192, 264, 637, 586, 141, 189, 628, 108, 189, 316, 626, 743, 1180, 1419, 1421, 1419, 163, 206, 1196, 172, 189, 622, 623, 625, 743, 189, 622, 1432, 1432, 311, 1266, 164, 425, 863, 291, 584, 1033, 105, 115, 122, 148, 263, 268, 291, 312, 367, 370, 460, 584, 586, 1087, 1267, 108, 584, 586, 1036, 1083, 1083, 1100, 1101, 1184, 1083, 235, 341, 1111, 300, 346, 408, 458, 519, 99, 1106, 1184, 574, 575, 1107, 1108, 1184, 1186, 1120, 1121, 1105, 1104, 1102, 1103, 238, 1123, 360, 1125, 1102, 1120, 1141, 1048, 1266, 1141, 108, 1400, 455, 1223, 1345, 576, 586, 587, 1403, 1322, 1325, 1322, 285, 188, 1352, 520, 1300, 1302, 1268, 466, 1273, 1374, 1415, 586, 573, 1268, 13, 1273, 1418, 1273, 1418, 586, 1332, 1268, 583, 583, 1403, 584, 743, 584, 138, 497, 497, 442, 268, 280, 371, 374, 457, 529, 576, 914, 915, 916, 918, 920, 922, 1161, 1401, 497, 532, 497, 442, 1269, 585, 497, 497, 442, 313, 497, 149, 497, 488, 618, 381, 1004, 1006, 573, 1008, 238, 250, 268, 430, 892, 893, 142, 161, 220, 240, 398, 514, 700, 701, 161, 189, 350, 497, 161, 497, 189, 350, 442, 161, 202, 212, 381, 420, 824, 442, 759, 98, 136, 207, 246, 367, 402, 435, 500, 507, 854, 855, 1268, 224, 420, 455, 641, 365, 743, 447, 308, 497, 1400, 497, 355, 743, 193, 290, 442, 453, 499, 620, 859, 426, 455, 927, 940, 197, 584, 909, 914, 497, 520, 488, 1266, 150, 220, 262, 685, 700, 1400, 150, 161, 964, 386, 365, 437, 439, 502, 161, 964, 102, 423, 437, 439, 502, 437, 1266, 239, 275, 360, 859, 583, 497, 497, 261, 583, 649, 93, 322, 488, 517, 542, 649, 161, 586, 197, 381, 268, 224, 420, 455, 641, 967, 521, 521, 347, 1161, 497, 442, 583, 945, 1268, 1266, 497, 497, 442, 940, 197, 176, 485, 486, 976, 977, 1139, 1266, 1400, 977, 497, 497, 827, 977, 183, 455, 632, 497, 603, 632, 497, 497, 442, 940, 197, 1266, 497, 497, 1266, 1163, 743, 129, 742, 743, 743, 181, 327, 331, 129, 497, 601, 335, 442, 601, 346, 741, 497, 497, 355, 1419, 769, 859, 497, 497, 442, 471, 405, 1419, 405, 497, 405, 497, 405, 827, 827, 488, 1138, 386, 386, 161, 497, 964, 442, 497, 497, 649, 649, 859, 859, 859, 859, 1266, 117, 526, 117, 117, 497, 117, 497, 526, 442, 583, 586, 632, 520, 785, 1276, 497, 603, 632, 1266, 497, 964, 442, 381, 420, 408, 421, 451, 624, 996, 1224, 1224, 1225, 584, 85, 86, 586, 1098, 1099, 582, 588, 1266, 1029, 1268, 1266, 291, 1161, 291, 365, 291, 291, 743, 859, 859, 291, 291, 291, 1161, 291, 291, 291, 365, 497, 244, 497, 663, 507, 583, 108, 224, 859, 828, 829, 1402, 1004, 1161, 365, 224, 756, 1268, 350, 386, 583, 602, 841, 521, 412, 533, 1266, 99, 977, 827, 602, 224, 1276, 168, 250, 616, 677, 736, 799, 873, 895, 1000, 224, 1419, 777, 778, 224, 365, 1419, 1276, 319, 859, 859, 859, 859, 216, 407, 583, 785, 350, 602, 1266, 350, 738, 740, 350, 108, 360, 386, 583, 703, 703, 262, 733, 1266, 238, 262, 595, 1400, 583, 831, 921, 1268, 583, 912, 912, 108, 1161, 97, 120, 284, 800, 303, 585, 1273, 1298, 584, 540, 542, 1079, 444, 924, 923, 1161, 1268, 583, 583, 1223, 1273, 861, 1178, 1178, 107, 1162, 495, 495, 1273, 1273, 1161, 581, 581, 1273, 497, 497, 1273, 1166, 910, 911, 1277, 1276, 224, 598, 224, 521, 224, 521, 946, 947, 598, 910, 1277, 910, 1268, 1268, 1161, 861, 1277, 785, 224, 858, 859, 1267, 1268, 1268, 859, 584, 590, 1426, 584, 1432, 1433, 1357, 262, 1266, 180, 1041, 1077, 1077, 1435, 1077, 1077, 1435, 1077, 1077, 1268, 13, 586, 1414, 704, 584, 586, 584, 247, 403, 436, 450, 486, 1267, 858, 182, 452, 910, 1267, 359, 878, 879, 1400, 910, 910, 1267, 1265, 1265, 1267, 858, 497, 251, 540, 889, 219, 313, 782, 783, 93, 222, 437, 458, 1060, 1138, 354, 1061, 584, 584, 586, 1044, 497, 1266, 1268, 1266, 595, 875, 876, 244, 889, 876, 1400, 98, 150, 207, 246, 304, 402, 435, 507, 854, 855, 1223, 582, 1223, 1228, 1229, 536, 1239, 1240, 1184, 1223, 583, 1273, 1273, 184, 260, 330, 333, 446, 558, 1230, 1231, 1419, 1421, 1223, 1223, 428, 1081, 1082, 1184, 1249, 1252, 1259, 1249, 1184, 1186, 1224, 1252, 1255, 1256, 1184, 1256, 1223, 1273, 1273, 1184, 1184, 945, 1184, 1224, 1226, 1233, 437, 574, 575, 583, 1185, 1186, 1220, 1234, 584, 1223, 1184, 1226, 1235, 1184, 127, 244, 307, 498, 1184, 1223, 1236, 204, 350, 1081, 1223, 335, 1186, 1184, 1194, 1195, 1196, 335, 1184, 1196, 584, 586, 1273, 1182, 1161, 1184, 1184, 1184, 1184, 1402, 495, 113, 481, 1248, 859, 1184, 583, 1081, 1237, 204, 206, 230, 295, 342, 343, 344, 345, 349, 350, 355, 504, 515, 1232, 1253, 1184, 583, 1184, 497, 122, 263, 268, 312, 460, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 99, 106, 465, 1217, 253, 1202, 437, 583, 1214, 583, 376, 1206, 249, 316, 485, 489, 491, 517, 1093, 1266, 1264, 244, 1127, 1224, 1268, 1415, 1244, 1127, 1374, 586, 573, 1266, 499, 583, 1419, 586, 1432, 584, 261, 261, 598, 1332, 1039, 1028, 1032, 1184, 584, 326, 350, 1088, 1039, 1037, 586, 109, 199, 521, 904, 437, 438, 574, 575, 1108, 1110, 1186, 458, 300, 366, 586, 1109, 1273, 1418, 1109, 437, 438, 1110, 1265, 354, 462, 1062, 1121, 1103, 521, 1057, 189, 379, 583, 1049, 1080, 108, 521, 1400, 583, 1064, 1065, 1066, 1400, 584, 587, 1346, 1162, 590, 1325, 590, 33, 1301, 1377, 1378, 1415, 1370, 1375, 1422, 1361, 1162, 1409, 1425, 1409, 1162, 1276, 1268, 1268, 374, 129, 1401, 584, 916, 918, 915, 918, 1401, 371, 584, 586, 860, 1276, 1268, 1268, 1269, 1276, 1268, 1268, 1276, 532, 1268, 1268, 189, 625, 743, 432, 520, 875, 442, 250, 875, 583, 1268, 521, 897, 300, 300, 521, 694, 725, 262, 1268, 355, 1276, 1268, 1268, 1184, 355, 1268, 1268, 102, 423, 497, 497, 1268, 497, 760, 923, 583, 1161, 911, 144, 231, 947, 911, 911, 238, 1161, 859, 1268, 256, 346, 381, 420, 525, 763, 764, 765, 1138, 497, 964, 442, 355, 193, 290, 1276, 1268, 365, 1268, 365, 584, 586, 1275, 1277, 1268, 420, 641, 262, 685, 350, 1161, 1268, 1273, 1400, 1266, 1268, 311, 1268, 99, 520, 1268, 262, 1268, 262, 1400, 439, 502, 439, 502, 311, 1268, 99, 520, 1268, 311, 437, 1266, 95, 209, 455, 770, 771, 772, 773, 1402, 1276, 1268, 189, 245, 351, 521, 648, 651, 652, 1402, 329, 1268, 146, 363, 1268, 644, 365, 497, 488, 1266, 497, 964, 442, 197, 1268, 1268, 586, 584, 586, 1276, 1268, 970, 971, 1402, 365, 420, 497, 793, 1276, 1268, 1268, 365, 1138, 268, 586, 703, 703, 1246, 1276, 1268, 1268, 1275, 160, 214, 275, 388, 512, 520, 523, 604, 1421, 1276, 1268, 1268, 365, 420, 1276, 1268, 420, 455, 641, 740, 743, 859, 1268, 743, 859, 1268, 743, 1276, 1268, 455, 1276, 1268, 1268, 1274, 1267, 1267, 1276, 935, 1268, 1267, 1268, 420, 455, 641, 642, 1266, 1266, 1268, 1268, 1268, 1268, 1276, 1268, 95, 101, 209, 381, 420, 455, 381, 420, 455, 827, 420, 455, 420, 455, 420, 967, 1153, 1400, 262, 837, 1400, 262, 1400, 1276, 1268, 1268, 1419, 1268, 970, 95, 660, 452, 1275, 420, 455, 641, 1268, 1268, 1268, 497, 497, 155, 511, 408, 586, 1098, 1098, 1098, 1184, 1184, 529, 1225, 584, 1184, 1245, 1024, 355, 865, 1419, 108, 865, 207, 859, 865, 865, 291, 521, 521, 865, 865, 865, 303, 865, 865, 865, 859, 404, 664, 664, 273, 485, 798, 1184, 1161, 859, 584, 586, 573, 691, 1402, 1268, 133, 244, 442, 532, 757, 764, 765, 224, 360, 312, 679, 681, 683, 685, 697, 700, 96, 268, 432, 482, 604, 605, 238, 1268, 533, 1266, 108, 794, 486, 935, 595, 1400, 615, 678, 907, 1268, 240, 859, 583, 727, 728, 1187, 1189, 1190, 1260, 1400, 405, 1419, 827, 827, 827, 827, 583, 827, 1151, 1152, 1153, 452, 224, 583, 224, 224, 223, 1288, 859, 360, 679, 1400, 521, 720, 540, 650, 350, 108, 703, 1419, 350, 365, 832, 833, 1421, 827, 97, 584, 913, 914, 919, 108, 303, 429, 500, 539, 925, 926, 927, 928, 925, 365, 303, 360, 194, 283, 505, 519, 801, 802, 1268, 1297, 577, 259, 259, 238, 598, 108, 601, 239, 1012, 1013, 1223, 584, 584, 598, 581, 560, 560, 584, 584, 1273, 582, 583, 1273, 1400, 1419, 1430, 584, 584, 598, 858, 859, 1268, 859, 1268, 598, 598, 598, 598, 303, 598, 452, 238, 598, 598, 365, 598, 350, 1079, 1422, 1410, 584, 705, 268, 268, 268, 268, 268, 544, 1267, 743, 744, 586, 585, 253, 881, 882, 1276, 129, 886, 887, 1402, 497, 583, 244, 222, 458, 222, 458, 437, 519, 332, 1161, 1276, 540, 731, 365, 881, 598, 244, 923, 859, 1161, 911, 359, 911, 911, 1161, 859, 1268, 584, 582, 582, 586, 1184, 211, 1240, 1241, 108, 584, 1184, 584, 584, 584, 244, 584, 584, 1161, 561, 1250, 1250, 584, 91, 355, 586, 1258, 371, 1261, 588, 526, 584, 584, 91, 355, 586, 1257, 1257, 584, 584, 584, 584, 586, 586, 584, 389, 584, 584, 583, 1185, 1185, 1223, 83, 87, 88, 89, 268, 291, 367, 571, 572, 573, 574, 575, 576, 577, 578, 579, 1220, 1185, 584, 584, 238, 244, 460, 584, 584, 108, 1236, 1223, 1236, 1236, 244, 584, 204, 584, 1402, 387, 1199, 108, 584, 586, 1184, 1402, 586, 1184, 1247, 1184, 584, 560, 1185, 1185, 217, 1223, 244, 107, 359, 441, 526, 204, 206, 230, 349, 355, 504, 515, 1232, 1253, 349, 540, 542, 1254, 217, 945, 1184, 481, 1248, 1184, 1237, 1184, 497, 583, 1081, 583, 1206, 583, 1223, 537, 583, 1207, 1400, 489, 491, 489, 491, 1266, 1094, 1094, 1094, 306, 438, 557, 583, 1081, 1128, 1129, 1130, 1138, 1144, 1154, 1189, 1400, 537, 1149, 1098, 1149, 7, 10, 11, 21, 22, 23, 25, 26, 30, 31, 32, 182, 335, 394, 507, 1380, 1381, 1383, 1373, 1374, 997, 1273, 1182, 623, 1162, 1039, 326, 583, 1101, 367, 1218, 1221, 563, 905, 1273, 1418, 1110, 366, 540, 519, 1107, 321, 1128, 537, 1150, 527, 483, 520, 1050, 1051, 1052, 1400, 365, 1053, 1400, 1129, 1066, 1067, 586, 1127, 573, 1247, 588, 1328, 587, 586, 573, 29, 1389, 584, 584, 587, 922, 860, 918, 918, 129, 920, 578, 1277, 1277, 365, 1267, 368, 365, 1184, 701, 1268, 583, 583, 583, 725, 273, 583, 817, 224, 598, 497, 1276, 1268, 628, 1161, 859, 859, 1161, 747, 1268, 256, 525, 497, 497, 747, 763, 769, 420, 455, 641, 1268, 1268, 1268, 281, 355, 227, 914, 380, 455, 497, 350, 224, 474, 689, 690, 817, 455, 95, 209, 424, 425, 455, 645, 653, 654, 769, 965, 447, 224, 598, 224, 598, 1268, 1268, 1268, 1268, 447, 447, 311, 772, 773, 772, 584, 586, 774, 1419, 273, 584, 586, 573, 585, 1268, 227, 1276, 1268, 420, 455, 641, 1268, 1268, 1268, 365, 381, 420, 455, 95, 209, 381, 420, 455, 1161, 347, 1161, 584, 586, 573, 1266, 497, 1277, 521, 790, 227, 703, 442, 976, 537, 710, 710, 703, 313, 388, 355, 1419, 388, 1277, 518, 227, 497, 497, 442, 471, 935, 935, 935, 380, 455, 161, 497, 964, 442, 189, 238, 655, 234, 597, 497, 497, 323, 323, 323, 497, 497, 442, 497, 497, 442, 497, 442, 497, 442, 497, 197, 598, 1161, 350, 1419, 455, 965, 224, 598, 497, 497, 584, 1268, 497, 964, 442, 497, 1276, 1268, 584, 584, 584, 1225, 582, 1161, 859, 291, 865, 1268, 1268, 1268, 291, 472, 473, 665, 1419, 665, 256, 584, 584, 244, 827, 829, 347, 367, 574, 575, 743, 830, 918, 1221, 1283, 1419, 142, 148, 161, 189, 191, 248, 277, 350, 355, 398, 414, 514, 692, 693, 696, 223, 536, 601, 628, 1268, 628, 369, 767, 1266, 1266, 1266, 584, 586, 1277, 253, 432, 1277, 1273, 507, 1266, 703, 1421, 238, 795, 935, 118, 615, 485, 776, 182, 1036, 1184, 244, 586, 1267, 650, 834, 835, 1419, 584, 586, 1268, 238, 704, 1266, 730, 1266, 1307, 1080, 583, 680, 1266, 584, 1268, 540, 542, 721, 649, 108, 224, 1080, 720, 497, 224, 1138, 584, 586, 573, 801, 584, 586, 189, 573, 929, 1419, 628, 485, 917, 918, 238, 934, 121, 427, 930, 931, 928, 931, 194, 283, 448, 519, 987, 1268, 360, 365, 370, 256, 1293, 1080, 1307, 1161, 583, 584, 586, 584, 1273, 1181, 1181, 582, 1430, 583, 574, 575, 576, 577, 578, 582, 598, 521, 598, 521, 598, 1268, 1268, 785, 859, 224, 238, 442, 442, 442, 442, 442, 1267, 586, 879, 1400, 1276, 540, 586, 883, 1276, 586, 889, 230, 368, 504, 888, 1140, 452, 222, 222, 182, 346, 880, 889, 1277, 291, 291, 291, 291, 743, 291, 291, 291, 291, 291, 1228, 493, 1184, 215, 1161, 584, 1184, 1250, 295, 1252, 365, 365, 1249, 1252, 129, 1258, 1249, 1249, 365, 365, 1256, 1254, 1254, 1232, 1184, 1184, 584, 1223, 586, 1161, 1185, 1185, 1185, 1185, 204, 206, 350, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1184, 1184, 1184, 1161, 584, 584, 584, 1223, 584, 586, 129, 1186, 1200, 584, 1402, 1195, 395, 477, 1198, 584, 586, 532, 1191, 108, 584, 1419, 1184, 105, 105, 1184, 584, 1184, 244, 349, 1254, 514, 514, 1184, 584, 217, 1185, 1185, 217, 217, 1184, 1184, 1099, 584, 1223, 586, 1184, 1208, 1400, 1094, 1094, 1094, 1094, 1266, 1266, 1266, 1081, 1144, 1154, 244, 583, 1081, 1129, 1130, 108, 1131, 1132, 1400, 586, 169, 245, 279, 294, 310, 338, 431, 1135, 1132, 108, 1131, 1134, 1400, 1132, 564, 1148, 1246, 1184, 253, 1112, 584, 1112, 586, 573, 584, 1389, 1044, 583, 905, 235, 305, 366, 540, 494, 172, 1184, 428, 1055, 526, 584, 586, 1247, 159, 1055, 365, 584, 586, 1065, 1150, 1184, 1273, 573, 1347, 1378, 1383, 584, 578, 922, 507, 247, 436, 443, 450, 486, 508, 894, 238, 894, 584, 583, 708, 709, 900, 1189, 1400, 704, 704, 817, 1268, 704, 191, 277, 346, 350, 818, 1268, 1268, 108, 521, 521, 303, 860, 1276, 1268, 497, 964, 442, 497, 281, 1268, 129, 488, 1268, 224, 685, 189, 1400, 156, 687, 688, 471, 248, 226, 261, 350, 649, 601, 182, 248, 350, 471, 649, 687, 689, 741, 455, 654, 507, 1268, 1400, 447, 771, 1268, 652, 830, 1402, 1268, 380, 455, 497, 964, 442, 497, 227, 497, 497, 442, 246, 367, 474, 839, 840, 246, 367, 847, 848, 497, 497, 442, 584, 584, 584, 971, 347, 743, 918, 972, 1221, 1283, 1419, 420, 1268, 583, 540, 791, 1268, 710, 176, 1400, 583, 710, 1274, 1419, 1419, 1419, 1268, 1268, 1268, 1268, 1274, 129, 488, 1268, 1268, 1268, 1268, 527, 1268, 1268, 238, 238, 422, 238, 262, 1276, 1268, 1268, 1276, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 365, 148, 646, 224, 97, 120, 507, 1400, 1268, 1419, 769, 1268, 1268, 1268, 1268, 1098, 584, 291, 865, 291, 291, 291, 865, 601, 521, 670, 671, 747, 817, 540, 542, 859, 583, 859, 1268, 1185, 102, 129, 695, 192, 264, 191, 355, 300, 1266, 694, 246, 402, 813, 820, 821, 1400, 756, 583, 386, 583, 680, 698, 276, 715, 683, 1277, 1277, 1161, 583, 650, 99, 194, 283, 448, 519, 796, 497, 792, 1276, 262, 1266, 778, 544, 365, 584, 1128, 728, 935, 584, 586, 1153, 767, 785, 584, 738, 108, 360, 386, 583, 1046, 731, 682, 684, 686, 700, 1400, 386, 716, 717, 680, 715, 649, 363, 365, 722, 1080, 733, 731, 650, 1419, 1268, 897, 833, 1421, 830, 365, 919, 1184, 1184, 586, 583, 925, 507, 586, 114, 1184, 497, 583, 704, 1266, 802, 747, 80, 1304, 584, 1012, 1013, 582, 584, 1332, 1430, 1430, 1430, 1430, 1430, 1268, 1268, 598, 452, 598, 1267, 1267, 1267, 1267, 1267, 743, 250, 882, 889, 887, 584, 1268, 182, 244, 598, 889, 355, 868, 1419, 868, 868, 868, 291, 868, 868, 868, 868, 868, 1184, 584, 213, 1251, 584, 355, 355, 584, 1100, 1252, 355, 355, 1252, 1252, 584, 584, 244, 584, 1184, 244, 204, 206, 244, 238, 217, 584, 547, 1193, 1223, 413, 526, 129, 1200, 1186, 538, 538, 584, 1184, 346, 1184, 586, 1192, 1163, 1184, 1184, 1184, 301, 301, 1184, 105, 105, 1184, 1184, 217, 584, 584, 584, 1184, 584, 386, 1209, 1266, 1266, 1266, 1266, 1132, 1134, 1132, 583, 552, 1186, 584, 1400, 583, 1129, 294, 375, 1136, 1129, 1136, 294, 1135, 1136, 294, 487, 1142, 583, 1400, 583, 372, 129, 257, 1119, 1419, 1119, 1381, 575, 1374, 1382, 1418, 1419, 1419, 584, 945, 494, 360, 1263, 1080, 379, 1080, 1052, 365, 583, 1054, 1184, 573, 1066, 1055, 1426, 507, 584, 497, 875, 244, 817, 1184, 584, 586, 540, 148, 899, 903, 899, 584, 584, 584, 192, 264, 275, 191, 523, 598, 1161, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1277, 1268, 685, 189, 1400, 767, 1274, 695, 262, 262, 355, 743, 695, 355, 1274, 1161, 598, 598, 573, 129, 488, 1268, 1268, 1268, 1268, 1268, 1276, 1268, 1268, 1273, 1273, 1161, 586, 1273, 1273, 586, 1276, 1268, 1268, 497, 1184, 142, 1184, 1277, 1268, 497, 497, 244, 268, 540, 1267, 1267, 859, 1267, 224, 227, 859, 1419, 1419, 1161, 598, 598, 497, 584, 291, 865, 865, 865, 865, 583, 666, 667, 601, 196, 246, 280, 246, 1184, 350, 693, 189, 108, 935, 703, 935, 1271, 105, 223, 268, 768, 772, 360, 679, 655, 221, 270, 583, 452, 521, 704, 108, 1277, 790, 615, 350, 583, 240, 1268, 727, 1419, 452, 650, 223, 1289, 859, 360, 679, 731, 584, 586, 540, 691, 129, 720, 655, 716, 154, 488, 723, 540, 1001, 108, 723, 244, 365, 583, 1266, 1419, 916, 936, 937, 1401, 931, 1161, 238, 932, 1266, 244, 497, 956, 415, 803, 278, 748, 1305, 1400, 598, 584, 584, 598, 598, 1268, 368, 289, 881, 598, 868, 1268, 584, 584, 584, 1184, 584, 1185, 244, 1184, 1184, 1184, 583, 584, 586, 584, 1200, 584, 526, 468, 584, 272, 346, 1197, 1184, 1184, 1184, 584, 129, 1098, 1145, 1146, 1189, 583, 1199, 1131, 583, 1267, 1129, 365, 521, 1137, 1129, 294, 1129, 1271, 1152, 583, 1152, 1400, 1095, 1184, 539, 1203, 1203, 1273, 1418, 445, 1089, 584, 1077, 1433, 1050, 161, 898, 900, 205, 536, 1069, 1070, 1184, 881, 365, 881, 584, 269, 706, 709, 367, 945, 859, 596, 859, 414, 706, 706, 584, 497, 455, 1061, 691, 108, 224, 224, 646, 830, 1277, 1268, 497, 583, 911, 945, 947, 840, 583, 583, 848, 1268, 584, 583, 584, 455, 1061, 1268, 1268, 583, 583, 583, 540, 564, 1021, 422, 1021, 1021, 238, 1268, 646, 1268, 865, 672, 673, 1402, 124, 170, 195, 213, 217, 239, 243, 258, 355, 406, 668, 666, 1419, 911, 108, 952, 952, 584, 261, 583, 521, 724, 324, 707, 724, 583, 821, 813, 583, 584, 586, 1266, 584, 452, 99, 153, 156, 162, 190, 248, 261, 274, 471, 474, 699, 699, 1265, 1268, 1268, 584, 1080, 791, 224, 182, 767, 244, 1268, 108, 1307, 1080, 680, 1266, 584, 1431, 684, 369, 1400, 721, 716, 720, 194, 209, 395, 1268, 134, 142, 316, 1080, 859, 1138, 898, 244, 816, 918, 584, 586, 507, 215, 594, 930, 933, 1149, 466, 466, 584, 340, 364, 804, 805, 806, 238, 809, 747, 346, 525, 749, 750, 573, 1306, 1268, 889, 238, 1185, 1194, 1223, 346, 559, 272, 584, 1223, 255, 407, 438, 1210, 584, 586, 108, 1147, 189, 1159, 1160, 1185, 151, 1267, 584, 1184, 583, 1129, 1137, 583, 584, 1152, 584, 171, 254, 434, 583, 1113, 1114, 1115, 1116, 1117, 1118, 1184, 1204, 1205, 1400, 128, 198, 181, 1090, 526, 1268, 584, 586, 351, 519, 325, 350, 1070, 883, 894, 598, 899, 583, 935, 583, 904, 649, 1266, 935, 935, 1268, 488, 261, 521, 647, 455, 1061, 1268, 1227, 238, 843, 843, 1227, 1227, 1184, 488, 1223, 1223, 656, 657, 1278, 858, 859, 858, 859, 1267, 598, 584, 586, 576, 583, 625, 674, 743, 1018, 1419, 1018, 350, 355, 406, 1018, 1018, 1149, 952, 112, 266, 346, 702, 583, 739, 1184, 273, 245, 385, 461, 365, 711, 712, 713, 584, 1271, 76, 822, 772, 680, 715, 1268, 584, 767, 231, 842, 650, 1001, 1266, 544, 1128, 767, 1080, 1046, 731, 716, 680, 715, 691, 583, 722, 720, 721, 438, 438, 142, 368, 142, 731, 897, 584, 1266, 817, 925, 936, 1161, 587, 205, 540, 540, 805, 437, 485, 807, 210, 810, 536, 812, 525, 747, 1273, 1413, 1421, 80, 767, 598, 1184, 584, 584, 526, 122, 172, 510, 1184, 1211, 1212, 1211, 1211, 584, 1148, 1145, 583, 1185, 584, 586, 108, 1155, 1156, 1400, 584, 1267, 1223, 584, 583, 456, 583, 584, 586, 586, 108, 235, 235, 704, 1080, 1149, 900, 455, 105, 1071, 325, 244, 704, 724, 945, 905, 904, 703, 724, 724, 1268, 739, 1184, 488, 584, 371, 445, 411, 844, 844, 584, 584, 584, 1268, 584, 584, 584, 586, 1273, 1021, 673, 625, 675, 676, 1419, 1419, 355, 704, 576, 704, 1419, 1419, 275, 740, 584, 488, 194, 519, 365, 713, 365, 712, 583, 584, 586, 655, 452, 767, 859, 108, 108, 583, 1268, 1001, 731, 720, 655, 716, 583, 718, 719, 1189, 1400, 723, 721, 722, 368, 368, 583, 269, 901, 238, 931, 100, 284, 988, 246, 246, 1018, 437, 470, 811, 583, 223, 1305, 1212, 437, 237, 393, 237, 393, 220, 1213, 1213, 1213, 1152, 586, 1160, 1402, 584, 586, 238, 1161, 584, 584, 1223, 583, 1223, 1114, 1205, 1207, 129, 129, 455, 1064, 1184, 493, 1071, 881, 584, 710, 584, 905, 707, 817, 817, 1061, 1268, 911, 129, 1061, 497, 656, 859, 584, 586, 704, 584, 475, 1268, 133, 346, 426, 455, 714, 714, 584, 76, 452, 1268, 839, 1080, 767, 1431, 721, 716, 720, 1184, 584, 586, 903, 903, 722, 723, 898, 583, 694, 210, 351, 583, 983, 985, 989, 1047, 1056, 1063, 1080, 1091, 911, 911, 808, 1400, 1184, 813, 105, 172, 253, 346, 494, 584, 1186, 1156, 372, 189, 350, 355, 1157, 1158, 1421, 108, 1133, 421, 1143, 584, 1113, 584, 704, 704, 1400, 1149, 194, 205, 519, 1072, 1073, 493, 598, 817, 711, 1061, 859, 583, 676, 94, 189, 355, 1268, 767, 1001, 722, 720, 721, 584, 719, 596, 596, 723, 584, 900, 902, 650, 437, 984, 985, 986, 1081, 1082, 586, 586, 584, 1271, 1212, 437, 373, 1199, 1185, 355, 1158, 1185, 1400, 583, 584, 455, 455, 497, 521, 351, 455, 205, 283, 1074, 817, 1223, 703, 703, 767, 723, 721, 722, 903, 901, 584, 586, 723, 812, 584, 587, 497, 244, 583, 151, 1184, 1400, 1400, 1271, 1272, 1400, 1064, 351, 189, 379, 527, 583, 1075, 584, 722, 723, 596, 694, 900, 1149, 223, 986, 466, 466, 814, 815, 1273, 1402, 1418, 1419, 1155, 584, 583, 189, 527, 1050, 583, 1051, 723, 650, 813, 540, 540, 584, 586, 584, 1224, 1272, 526, 1223, 584, 723, 1271, 246, 246, 815, 1098, 521, 1075, 584, 379, 1075, 1149, 583, 911, 911, 584, 1400, 1050, 814, 526, 584, 1075 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_int16 yyr1[] = { 0, 591, 592, 593, 593, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 594, 595, 595, 596, 596, 597, 597, 598, 598, 598, 599, 600, 601, 601, 601, 602, 602, 603, 603, 604, 604, 604, 604, 604, 604, 604, 604, 604, 605, 605, 605, 605, 605, 605, 606, 607, 607, 608, 608, 609, 609, 609, 609, 610, 610, 610, 610, 610, 610, 611, 612, 613, 613, 614, 614, 614, 614, 615, 615, 616, 616, 616, 616, 616, 616, 617, 617, 617, 618, 618, 618, 619, 619, 619, 619, 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, 621, 621, 622, 622, 623, 623, 624, 624, 624, 624, 625, 625, 625, 625, 626, 626, 626, 626, 626, 626, 626, 627, 627, 627, 628, 628, 629, 630, 630, 630, 630, 631, 631, 632, 632, 633, 633, 634, 634, 634, 634, 634, 635, 636, 636, 637, 637, 638, 639, 639, 639, 639, 639, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 641, 641, 642, 642, 642, 643, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 644, 645, 645, 646, 646, 647, 647, 648, 648, 648, 648, 649, 650, 650, 651, 651, 652, 652, 652, 652, 653, 653, 654, 654, 654, 654, 655, 655, 655, 655, 656, 657, 657, 658, 659, 659, 660, 660, 660, 660, 661, 661, 662, 662, 663, 663, 664, 664, 665, 665, 665, 666, 666, 667, 667, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, 669, 669, 670, 670, 671, 671, 672, 672, 673, 674, 674, 674, 674, 674, 675, 675, 676, 677, 677, 677, 677, 677, 677, 678, 678, 678, 678, 678, 678, 678, 678, 679, 679, 680, 680, 681, 681, 682, 682, 683, 683, 683, 684, 684, 685, 686, 686, 687, 687, 688, 688, 689, 689, 690, 690, 691, 691, 692, 692, 692, 692, 693, 693, 693, 693, 693, 693, 693, 693, 693, 694, 694, 694, 695, 695, 696, 696, 696, 696, 697, 698, 698, 698, 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, 700, 700, 701, 701, 701, 701, 701, 701, 701, 702, 702, 703, 703, 704, 704, 705, 706, 706, 707, 707, 707, 707, 708, 708, 709, 709, 710, 710, 711, 711, 711, 711, 711, 712, 713, 714, 714, 714, 714, 714, 715, 715, 716, 716, 717, 718, 718, 719, 719, 719, 720, 720, 721, 721, 721, 722, 722, 722, 722, 723, 723, 724, 724, 725, 726, 726, 727, 727, 728, 728, 728, 729, 729, 730, 731, 731, 731, 732, 732, 733, 734, 734, 735, 736, 736, 737, 737, 738, 738, 739, 739, 740, 740, 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, 742, 742, 743, 743, 743, 743, 744, 744, 745, 745, 746, 746, 747, 747, 748, 748, 749, 749, 750, 750, 751, 751, 752, 753, 753, 754, 754, 755, 755, 756, 756, 757, 757, 757, 757, 758, 759, 759, 760, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 762, 763, 763, 763, 763, 764, 764, 765, 765, 766, 766, 767, 767, 768, 768, 769, 770, 770, 771, 771, 771, 771, 772, 773, 774, 775, 775, 776, 776, 777, 777, 778, 778, 779, 779, 779, 780, 780, 780, 780, 781, 782, 782, 783, 783, 784, 784, 785, 785, 786, 786, 787, 788, 789, 790, 790, 791, 791, 792, 792, 793, 793, 794, 794, 795, 795, 796, 796, 796, 796, 796, 797, 798, 798, 799, 799, 800, 800, 800, 801, 801, 802, 802, 802, 802, 802, 803, 803, 804, 804, 805, 806, 806, 807, 807, 808, 809, 809, 810, 810, 811, 811, 812, 812, 813, 813, 814, 814, 814, 815, 815, 815, 815, 816, 816, 817, 817, 818, 818, 818, 818, 818, 818, 819, 819, 820, 820, 821, 822, 822, 823, 824, 824, 824, 824, 825, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 827, 828, 828, 829, 829, 830, 830, 830, 830, 830, 830, 831, 832, 832, 833, 834, 834, 835, 835, 836, 836, 836, 836, 837, 837, 838, 839, 839, 840, 840, 840, 840, 840, 841, 841, 842, 842, 843, 843, 843, 844, 844, 845, 846, 846, 847, 847, 848, 848, 849, 849, 850, 850, 851, 852, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 855, 855, 855, 855, 855, 856, 856, 856, 856, 856, 856, 856, 856, 857, 857, 857, 858, 858, 859, 859, 860, 860, 861, 861, 862, 863, 863, 863, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, 865, 865, 866, 866, 866, 866, 866, 866, 866, 866, 866, 866, 867, 867, 868, 868, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 870, 871, 871, 872, 872, 873, 874, 874, 875, 875, 875, 875, 875, 876, 876, 877, 877, 877, 877, 877, 878, 878, 879, 879, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 881, 881, 882, 882, 883, 883, 884, 884, 885, 885, 886, 886, 887, 888, 888, 888, 889, 889, 890, 891, 891, 892, 892, 892, 893, 893, 893, 894, 894, 894, 894, 894, 894, 895, 895, 896, 896, 897, 897, 898, 898, 899, 899, 900, 900, 900, 901, 901, 902, 902, 903, 903, 904, 904, 904, 905, 905, 905, 906, 906, 906, 906, 907, 907, 908, 908, 909, 909, 910, 910, 911, 911, 911, 911, 912, 912, 913, 913, 914, 914, 914, 914, 914, 915, 915, 915, 915, 915, 916, 917, 918, 918, 918, 919, 919, 919, 920, 921, 921, 921, 921, 922, 922, 923, 924, 924, 925, 925, 926, 926, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, 928, 928, 928, 928, 928, 929, 929, 930, 931, 931, 931, 932, 932, 933, 933, 934, 934, 935, 935, 936, 937, 937, 938, 938, 938, 939, 939, 940, 940, 941, 941, 941, 941, 941, 941, 942, 942, 943, 943, 944, 944, 944, 944, 945, 945, 946, 946, 947, 948, 949, 949, 950, 950, 951, 951, 951, 952, 952, 952, 953, 954, 954, 955, 956, 956, 956, 956, 957, 958, 958, 958, 959, 959, 960, 960, 961, 961, 962, 962, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, 964, 964, 965, 965, 966, 966, 966, 966, 966, 966, 967, 967, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, 969, 970, 970, 971, 971, 972, 972, 972, 972, 972, 973, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, 975, 975, 975, 976, 976, 976, 976, 976, 976, 976, 977, 977, 978, 978, 978, 978, 979, 980, 980, 980, 980, 980, 980, 980, 980, 980, 981, 981, 982, 983, 983, 983, 984, 984, 985, 985, 985, 985, 985, 986, 986, 987, 987, 987, 987, 988, 988, 988, 989, 990, 990, 991, 992, 992, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, 994, 994, 995, 995, 995, 996, 996, 996, 996, 996, 997, 997, 997, 998, 998, 999, 999, 999, 1000, 1000, 1000, 1000, 1001, 1001, 1001, 1001, 1002, 1003, 1004, 1004, 1005, 1005, 1006, 1006, 1006, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1008, 1008, 1009, 1009, 1009, 1009, 1010, 1011, 1011, 1011, 1011, 1012, 1012, 1013, 1014, 1015, 1015, 1016, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1018, 1018, 1019, 1020, 1020, 1020, 1020, 1020, 1020, 1021, 1021, 1022, 1023, 1023, 1023, 1023, 1024, 1024, 1025, 1025, 1026, 1026, 1027, 1027, 1028, 1028, 1029, 1030, 1030, 1030, 1031, 1031, 1031, 1032, 1032, 1033, 1033, 1034, 1034, 1035, 1035, 1036, 1036, 1037, 1038, 1038, 1039, 1039, 1040, 1040, 1040, 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 1043, 1043, 1044, 1044, 1044, 1044, 1044, 1045, 1045, 1045, 1046, 1046, 1047, 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1050, 1050, 1051, 1051, 1052, 1053, 1053, 1053, 1054, 1054, 1054, 1055, 1055, 1056, 1057, 1057, 1058, 1059, 1059, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1061, 1061, 1062, 1062, 1062, 1063, 1064, 1064, 1065, 1065, 1066, 1067, 1067, 1068, 1069, 1069, 1070, 1070, 1070, 1070, 1070, 1071, 1071, 1072, 1073, 1074, 1074, 1074, 1074, 1074, 1075, 1076, 1077, 1077, 1078, 1078, 1078, 1078, 1078, 1078, 1079, 1079, 1079, 1080, 1080, 1081, 1081, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1083, 1083, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1085, 1085, 1085, 1086, 1086, 1087, 1088, 1088, 1088, 1089, 1089, 1089, 1090, 1090, 1090, 1091, 1091, 1092, 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094, 1095, 1095, 1095, 1096, 1096, 1097, 1097, 1098, 1098, 1099, 1100, 1100, 1101, 1101, 1102, 1102, 1102, 1102, 1103, 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1105, 1105, 1106, 1106, 1107, 1108, 1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1115, 1116, 1117, 1118, 1119, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1124, 1124, 1124, 1124, 1125, 1125, 1126, 1126, 1127, 1127, 1128, 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1130, 1130, 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1132, 1132, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138, 1139, 1139, 1139, 1140, 1140, 1141, 1141, 1141, 1142, 1143, 1143, 1144, 1144, 1145, 1146, 1146, 1147, 1147, 1148, 1148, 1149, 1149, 1150, 1150, 1150, 1151, 1151, 1152, 1152, 1153, 1154, 1154, 1155, 1155, 1156, 1156, 1156, 1157, 1157, 1158, 1158, 1158, 1158, 1159, 1159, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1162, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164, 1164, 1164, 1165, 1165, 1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169, 1170, 1170, 1171, 1172, 1173, 1173, 1174, 1174, 1175, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178, 1179, 1179, 1179, 1179, 1180, 1181, 1181, 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1183, 1183, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188, 1188, 1188, 1189, 1189, 1189, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, 1192, 1192, 1192, 1192, 1193, 1194, 1194, 1195, 1195, 1196, 1196, 1197, 1197, 1197, 1198, 1198, 1198, 1199, 1199, 1199, 1199, 1200, 1200, 1201, 1201, 1202, 1202, 1203, 1203, 1204, 1204, 1205, 1206, 1206, 1206, 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1210, 1210, 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1215, 1215, 1216, 1217, 1217, 1217, 1218, 1218, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220, 1220, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222, 1223, 1223, 1224, 1224, 1225, 1225, 1225, 1226, 1226, 1227, 1227, 1228, 1228, 1228, 1229, 1229, 1230, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1232, 1232, 1232, 1232, 1233, 1233, 1234, 1235, 1235, 1235, 1235, 1235, 1236, 1236, 1236, 1237, 1237, 1238, 1239, 1239, 1240, 1241, 1241, 1242, 1242, 1243, 1243, 1244, 1244, 1244, 1244, 1245, 1245, 1246, 1246, 1247, 1247, 1248, 1248, 1249, 1250, 1250, 1251, 1251, 1252, 1252, 1253, 1253, 1253, 1253, 1253, 1254, 1254, 1254, 1254, 1254, 1255, 1255, 1256, 1256, 1257, 1257, 1257, 1258, 1258, 1258, 1259, 1259, 1260, 1260, 1261, 1261, 1262, 1262, 1263, 1263, 1264, 1264, 1264, 1264, 1265, 1265, 1266, 1266, 1267, 1267, 1268, 1269, 1270, 1271, 1271, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1273, 1274, 1274, 1274, 1274, 1275, 1276, 1276, 1276, 1276, 1277, 1277, 1278, 1278, 1278, 1278, 1279, 1279, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1285, 1285, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1288, 1287, 1289, 1287, 1290, 1291, 1291, 1291, 1291, 1292, 1292, 1292, 1292, 1293, 1293, 1294, 1295, 1296, 1296, 1297, 1297, 1297, 1298, 1298, 1299, 1299, 1300, 1300, 1301, 1301, 1301, 1301, 1302, 1302, 1302, 1303, 1304, 1304, 1305, 1305, 1306, 1306, 1306, 1306, 1307, 1307, 1308, 1309, 1310, 1311, 1312, 1312, 1313, 1314, 1314, 1315, 1315, 1315, 1315, 1315, 1317, 1316, 1318, 1319, 1320, 1320, 1321, 1321, 1321, 1321, 1322, 1322, 1324, 1323, 1326, 1325, 1327, 1325, 1325, 1328, 1328, 1329, 1329, 1329, 1330, 1330, 1330, 1330, 1331, 1331, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1333, 1333, 1333, 1334, 1336, 1335, 1337, 1338, 1337, 1339, 1339, 1340, 1340, 1341, 1341, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1344, 1344, 1345, 1345, 1346, 1347, 1347, 1348, 1348, 1348, 1349, 1350, 1351, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353, 1354, 1354, 1355, 1356, 1356, 1357, 1357, 1358, 1358, 1359, 1359, 1360, 1361, 1361, 1362, 1362, 1362, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1364, 1364, 1364, 1364, 1364, 1365, 1365, 1366, 1367, 1368, 1369, 1369, 1370, 1371, 1372, 1372, 1373, 1374, 1374, 1375, 1376, 1377, 1377, 1378, 1379, 1380, 1380, 1381, 1382, 1382, 1382, 1382, 1382, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386, 1386, 1388, 1387, 1389, 1389, 1391, 1390, 1392, 1392, 1392, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1394, 1394, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1396, 1396, 1396, 1396, 1396, 1396, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1398, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1401, 1401, 1401, 1401, 1401, 1401, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1405, 1405, 1405, 1406, 1406, 1406, 1406, 1406, 1406, 1407, 1407, 1408, 1409, 1409, 1410, 1410, 1411, 1412, 1413, 1414, 1414, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1421, 1422, 1422, 1423, 1423, 1423, 1424, 1424, 1425, 1425, 1426, 1426, 1427, 1427, 1427, 1427, 1427, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1429, 1429, 1429, 1429, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1431, 1431, 1431, 1431, 1432, 1432, 1433, 1433, 1434, 1434, 1435, 1435 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_int8 yyr2[] = { 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 1, 0, 1, 0, 1, 1, 0, 2, 5, 1, 1, 0, 2, 0, 2, 0, 2, 2, 3, 3, 1, 3, 3, 2, 1, 1, 2, 2, 2, 3, 3, 5, 5, 5, 0, 3, 5, 5, 5, 5, 3, 5, 3, 5, 3, 5, 5, 6, 1, 1, 6, 4, 9, 7, 2, 0, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 5, 1, 3, 3, 3, 3, 1, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 1, 3, 1, 3, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 3, 2, 1, 1, 2, 1, 2, 1, 3, 4, 5, 4, 2, 4, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 4, 6, 4, 6, 10, 13, 4, 6, 4, 10, 13, 4, 6, 4, 6, 5, 7, 11, 14, 5, 7, 1, 3, 4, 4, 4, 3, 2, 5, 3, 6, 4, 6, 6, 5, 7, 6, 6, 5, 5, 5, 5, 9, 4, 5, 7, 6, 4, 8, 4, 2, 4, 3, 6, 4, 3, 3, 3, 2, 2, 3, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 3, 2, 3, 2, 2, 3, 4, 3, 2, 2, 3, 4, 4, 4, 5, 1, 3, 2, 2, 0, 2, 0, 1, 1, 1, 3, 3, 2, 0, 1, 3, 3, 1, 5, 3, 1, 2, 1, 3, 2, 3, 6, 6, 10, 1, 2, 1, 3, 4, 1, 3, 4, 6, 4, 8, 2, 2, 11, 9, 1, 1, 1, 0, 1, 1, 1, 1, 3, 2, 0, 1, 1, 3, 3, 1, 1, 3, 3, 3, 3, 4, 3, 2, 1, 0, 3, 0, 1, 0, 1, 3, 2, 1, 1, 1, 3, 0, 1, 3, 1, 13, 16, 12, 15, 14, 17, 1, 1, 2, 2, 2, 2, 1, 0, 1, 0, 3, 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, 6, 2, 4, 2, 2, 1, 0, 2, 2, 1, 0, 2, 0, 3, 1, 1, 2, 2, 1, 4, 4, 5, 2, 5, 7, 5, 2, 3, 0, 1, 2, 1, 2, 2, 2, 3, 3, 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, 9, 3, 9, 4, 10, 11, 2, 0, 3, 0, 1, 3, 1, 4, 0, 2, 2, 2, 0, 1, 3, 3, 6, 4, 0, 1, 1, 2, 2, 0, 3, 3, 2, 1, 1, 3, 3, 4, 0, 1, 0, 6, 1, 3, 3, 3, 5, 2, 0, 2, 2, 0, 3, 4, 4, 0, 2, 0, 4, 0, 3, 8, 11, 1, 3, 1, 1, 3, 6, 8, 6, 2, 3, 0, 8, 11, 5, 1, 0, 6, 5, 8, 4, 6, 1, 0, 3, 0, 1, 2, 2, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 3, 1, 3, 1, 0, 1, 2, 2, 1, 1, 3, 6, 10, 1, 0, 1, 2, 2, 0, 2, 2, 1, 0, 1, 0, 7, 2, 0, 3, 5, 5, 8, 2, 0, 2, 2, 2, 1, 5, 2, 0, 2, 6, 6, 6, 10, 6, 6, 6, 9, 9, 6, 6, 9, 6, 7, 2, 2, 2, 2, 1, 2, 1, 0, 7, 6, 4, 0, 1, 3, 4, 1, 3, 1, 2, 2, 2, 2, 1, 1, 10, 13, 2, 0, 2, 2, 1, 0, 5, 4, 4, 11, 14, 12, 15, 11, 2, 1, 4, 0, 8, 11, 1, 1, 7, 9, 8, 10, 8, 4, 0, 5, 0, 2, 0, 2, 0, 2, 0, 2, 0, 1, 1, 1, 1, 1, 8, 1, 1, 17, 21, 1, 1, 2, 1, 3, 1, 1, 1, 3, 1, 2, 0, 1, 2, 4, 1, 1, 1, 1, 1, 3, 0, 1, 0, 1, 1, 4, 0, 1, 1, 1, 3, 0, 1, 1, 1, 1, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 11, 13, 1, 3, 5, 1, 3, 5, 1, 2, 2, 1, 8, 6, 5, 4, 4, 3, 7, 8, 6, 6, 6, 6, 6, 4, 7, 5, 8, 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 3, 1, 0, 1, 3, 7, 9, 9, 8, 3, 0, 13, 1, 3, 5, 5, 3, 6, 2, 1, 0, 2, 0, 2, 4, 0, 1, 0, 6, 8, 8, 1, 3, 5, 5, 7, 9, 7, 9, 5, 6, 6, 4, 6, 4, 6, 8, 4, 6, 4, 6, 5, 7, 1, 1, 1, 2, 1, 2, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 2, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 3, 1, 3, 5, 2, 2, 0, 6, 6, 6, 6, 6, 6, 6, 6, 8, 9, 8, 6, 6, 9, 9, 9, 7, 10, 1, 1, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 2, 0, 1, 1, 2, 2, 3, 4, 5, 4, 5, 3, 4, 3, 4, 1, 2, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 1, 1, 1, 0, 8, 8, 11, 1, 1, 2, 4, 5, 1, 3, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 4, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 5, 5, 5, 5, 5, 1, 3, 1, 2, 3, 0, 5, 7, 6, 9, 3, 1, 2, 1, 1, 1, 3, 0, 5, 2, 0, 3, 3, 3, 7, 7, 10, 1, 1, 1, 1, 1, 1, 16, 19, 1, 0, 2, 0, 1, 3, 4, 5, 2, 2, 4, 4, 0, 1, 3, 2, 0, 1, 1, 0, 2, 2, 0, 9, 12, 7, 7, 2, 0, 3, 2, 1, 3, 1, 3, 2, 1, 1, 2, 3, 2, 1, 3, 3, 3, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 4, 5, 1, 3, 3, 1, 3, 3, 5, 6, 1, 3, 2, 1, 3, 1, 0, 1, 2, 4, 5, 1, 1, 1, 1, 3, 3, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 3, 2, 1, 4, 0, 3, 0, 1, 1, 3, 5, 2, 0, 2, 1, 3, 5, 5, 5, 1, 2, 1, 0, 4, 6, 4, 6, 4, 6, 4, 6, 4, 6, 3, 5, 5, 5, 1, 3, 1, 3, 2, 2, 1, 2, 1, 2, 11, 10, 10, 2, 2, 0, 9, 2, 0, 10, 11, 11, 5, 5, 8, 5, 5, 5, 1, 1, 1, 1, 3, 0, 5, 5, 6, 6, 6, 6, 6, 8, 8, 6, 6, 7, 9, 9, 8, 10, 6, 6, 6, 6, 6, 6, 6, 8, 6, 8, 6, 8, 7, 9, 6, 8, 7, 9, 8, 10, 8, 10, 9, 11, 8, 10, 9, 11, 8, 8, 7, 6, 6, 6, 6, 8, 8, 8, 8, 6, 9, 1, 0, 2, 0, 8, 8, 8, 10, 9, 8, 1, 0, 6, 6, 6, 6, 6, 6, 6, 9, 9, 6, 6, 6, 8, 6, 8, 8, 8, 8, 6, 8, 6, 8, 7, 9, 7, 9, 6, 7, 1, 3, 3, 3, 1, 1, 1, 1, 1, 7, 6, 6, 6, 6, 6, 6, 7, 7, 6, 9, 9, 6, 6, 6, 6, 6, 6, 8, 8, 8, 6, 7, 6, 6, 4, 7, 6, 4, 4, 4, 3, 4, 3, 1, 1, 3, 5, 5, 5, 5, 8, 5, 5, 6, 7, 7, 7, 4, 4, 5, 4, 6, 13, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 3, 2, 0, 2, 2, 2, 3, 3, 3, 3, 2, 3, 2, 5, 4, 3, 3, 3, 3, 3, 1, 1, 0, 3, 2, 2, 1, 2, 1, 3, 2, 1, 0, 2, 3, 0, 9, 11, 12, 14, 3, 4, 4, 0, 2, 5, 1, 0, 1, 2, 3, 3, 3, 1, 2, 1, 1, 1, 1, 1, 1, 0, 5, 4, 6, 6, 4, 3, 5, 7, 9, 1, 3, 1, 5, 4, 4, 6, 4, 6, 6, 5, 7, 9, 6, 1, 0, 6, 11, 11, 11, 13, 9, 11, 1, 1, 10, 4, 6, 2, 5, 2, 0, 6, 5, 3, 5, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 2, 1, 3, 1, 0, 2, 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 3, 0, 1, 1, 1, 1, 1, 4, 10, 13, 3, 0, 7, 1, 3, 1, 4, 4, 7, 2, 1, 1, 1, 3, 2, 8, 5, 0, 4, 3, 0, 3, 0, 7, 2, 0, 5, 3, 0, 2, 2, 2, 3, 1, 3, 1, 2, 1, 0, 1, 2, 0, 8, 1, 3, 3, 5, 2, 1, 3, 9, 1, 2, 5, 5, 6, 6, 7, 2, 0, 3, 1, 2, 5, 5, 8, 3, 4, 7, 1, 1, 0, 3, 2, 2, 2, 2, 0, 2, 2, 1, 1, 3, 3, 1, 2, 4, 4, 2, 3, 5, 5, 1, 1, 9, 9, 1, 2, 4, 4, 4, 2, 2, 3, 1, 3, 9, 1, 2, 0, 7, 7, 0, 10, 6, 0, 1, 0, 2, 1, 0, 3, 3, 4, 4, 4, 4, 3, 2, 1, 1, 0, 1, 1, 0, 1, 5, 1, 0, 1, 0, 3, 1, 3, 4, 3, 2, 2, 1, 1, 1, 0, 2, 4, 5, 6, 4, 5, 2, 3, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 4, 0, 1, 3, 1, 1, 1, 1, 1, 2, 4, 4, 5, 2, 0, 1, 3, 1, 0, 1, 2, 3, 2, 4, 2, 3, 2, 0, 4, 5, 2, 0, 1, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 4, 3, 4, 5, 4, 5, 4, 5, 2, 4, 1, 1, 0, 2, 0, 1, 4, 5, 4, 0, 2, 2, 2, 1, 1, 0, 5, 2, 1, 1, 2, 2, 4, 1, 3, 1, 2, 3, 6, 4, 0, 2, 6, 2, 1, 3, 4, 0, 2, 0, 2, 0, 2, 4, 0, 1, 0, 1, 3, 3, 7, 12, 1, 3, 2, 3, 3, 1, 2, 2, 2, 2, 1, 1, 3, 3, 2, 2, 3, 5, 6, 2, 3, 3, 4, 0, 1, 1, 1, 1, 1, 2, 4, 1, 1, 1, 1, 2, 3, 3, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, 0, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 4, 1, 2, 2, 1, 3, 3, 2, 1, 0, 5, 2, 5, 2, 1, 3, 3, 0, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 0, 1, 4, 1, 3, 3, 5, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 3, 5, 4, 6, 3, 5, 4, 6, 4, 6, 5, 7, 3, 2, 4, 2, 3, 3, 4, 3, 4, 3, 4, 5, 6, 6, 7, 6, 7, 3, 4, 4, 6, 3, 3, 4, 3, 4, 4, 5, 4, 5, 1, 1, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 5, 6, 3, 4, 1, 1, 2, 4, 1, 1, 1, 2, 2, 2, 2, 1, 1, 4, 3, 5, 6, 8, 6, 6, 4, 4, 3, 1, 1, 1, 1, 5, 1, 1, 4, 1, 4, 1, 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, 6, 4, 4, 6, 4, 4, 4, 4, 4, 6, 5, 5, 5, 4, 6, 4, 4, 4, 4, 5, 7, 7, 9, 5, 4, 6, 5, 7, 7, 8, 4, 7, 4, 6, 6, 4, 2, 3, 3, 3, 4, 0, 4, 1, 3, 3, 1, 1, 1, 1, 2, 0, 2, 2, 0, 2, 3, 3, 4, 2, 2, 5, 0, 5, 0, 2, 0, 1, 3, 3, 2, 2, 0, 6, 1, 0, 3, 0, 3, 3, 3, 0, 1, 4, 2, 2, 2, 2, 2, 3, 2, 2, 3, 0, 4, 3, 5, 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 4, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 3, 1, 0, 1, 3, 3, 3, 2, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 5, 3, 5, 5, 3, 3, 5, 3, 2, 1, 1, 3, 5, 1, 2, 4, 2, 0, 1, 0, 1, 2, 2, 2, 3, 5, 1, 0, 1, 2, 0, 2, 1, 0, 2, 3, 0, 2, 0, 3, 0, 1, 2, 2, 2, 2, 3, 2, 3, 2, 0, 1, 3, 3, 3, 3, 3, 0, 3, 3, 0, 1, 3, 7, 7, 3, 0, 1, 0, 1, 3, 3, 2, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 6, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 2, 4, 3, 2, 1, 1, 1, 1, 1, 0, 8, 0, 11, 2, 5, 3, 2, 2, 3, 7, 1, 1, 1, 0, 2, 2, 1, 0, 1, 3, 1, 2, 0, 2, 0, 2, 0, 1, 3, 4, 3, 1, 1, 1, 1, 2, 0, 2, 4, 0, 2, 2, 2, 1, 1, 3, 7, 3, 1, 1, 1, 1, 2, 0, 1, 3, 3, 3, 3, 0, 4, 5, 5, 0, 1, 1, 1, 2, 2, 1, 2, 0, 7, 0, 5, 0, 4, 2, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 1, 1, 1, 1, 1, 2, 2, 1, 3, 2, 2, 3, 0, 5, 1, 0, 5, 2, 2, 1, 1, 1, 2, 2, 3, 1, 2, 2, 3, 3, 4, 2, 1, 2, 1, 1, 2, 2, 3, 1, 1, 1, 1, 0, 1, 3, 5, 0, 2, 0, 1, 2, 3, 2, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 2, 3, 0, 1, 2, 1, 4, 3, 4, 3, 2, 1, 3, 1, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 1, 4, 4, 4, 4, 4, 1, 0, 3, 3, 4, 1, 3, 3, 4, 1, 3, 3, 1, 1, 1, 6, 1, 3, 3, 6, 1, 3, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 4, 4, 3, 0, 7, 1, 0, 0, 7, 3, 4, 3, 1, 1, 1, 2, 3, 5, 2, 2, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 1, 1, 4, 0, 2, 2, 1, 2, 1, 0, 1, 1, 1, 0, 1 }; enum { YYENOMEM = -2 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #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 (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Backward compatibility with an undocumented macro. Use YYerror or YYUNDEF. */ #define YYERRCODE YYUNDEF /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ # ifndef YY_LOCATION_PRINT # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ YY_ATTRIBUTE_UNUSED static int yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) { int 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 /* !defined YY_LOCATION_PRINT */ # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Kind, Value, Location); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*-----------------------------------. | Print this symbol's value on YYO. | `-----------------------------------*/ static void yy_symbol_value_print (FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) { FILE *yyoutput = yyo; YY_USE (yyoutput); YY_USE (yylocationp); if (!yyvaluep) return; # ifdef YYPRINT if (yykind < YYNTOKENS) YYPRINT (yyo, yytoknum[yykind], *yyvaluep); # endif YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*---------------------------. | Print this symbol on YYO. | `---------------------------*/ static void yy_symbol_print (FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp) { YYFPRINTF (yyo, "%s %s (", yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); YY_LOCATION_PRINT (yyo, *yylocationp); YYFPRINTF (yyo, ": "); yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp); YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yy_state_t *yybottom, yy_state_t *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 (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule) { int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), &yyvsp[(yyi + 1) - (yynrhs)], &(yylsp[(yyi + 1) - (yynrhs)])); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) ((void) 0) # define YY_SYMBOL_PRINT(Title, Kind, 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 /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp) { YY_USE (yyvaluep); YY_USE (yylocationp); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } /* Lookahead token kind. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Location data for the lookahead symbol. */ YYLTYPE yylloc # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ int yyparse (void) { yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus = 0; /* Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* Their size. */ YYPTRDIFF_T yystacksize = YYINITDEPTH; /* The state stack: array, bottom, top. */ yy_state_t yyssa[YYINITDEPTH]; yy_state_t *yyss = yyssa; yy_state_t *yyssp = yyss; /* The semantic value stack: array, bottom, top. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp = yyvs; /* The location stack: array, bottom, top. */ YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls = yylsa; YYLTYPE *yylsp = yyls; int yyn; /* The return value of yyparse. */ int yyresult; /* Lookahead symbol kind. */ yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; YYLTYPE yyloc; /* The locations where the error started and ended. */ YYLTYPE yyerror_range[3]; #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; YYDPRINTF ((stderr, "Starting parse\n")); 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 -- set current state (the top of the stack) to yystate. | `--------------------------------------------------------------------*/ yysetstate: YYDPRINTF ((stderr, "Entering state %d\n", yystate)); YY_ASSERT (0 <= yystate && yystate < YYNSTATES); YY_IGNORE_USELESS_CAST_BEGIN *yyssp = YY_CAST (yy_state_t, yystate); YY_IGNORE_USELESS_CAST_END YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) #if !defined yyoverflow && !defined YYSTACK_RELOCATE goto yyexhaustedlab; #else { /* Get the current used size of the three stacks, in elements. */ YYPTRDIFF_T yysize = yyssp - yyss + 1; # if defined 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. */ yy_state_t *yyss1 = yyss; YYSTYPE *yyvs1 = yyvs; 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 * YYSIZEOF (*yyssp), &yyvs1, yysize * YYSIZEOF (*yyvsp), &yyls1, yysize * YYSIZEOF (*yylsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; yyls = yyls1; } # else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yy_state_t *yyss1 = yyss; union yyalloc *yyptr = YY_CAST (union yyalloc *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, 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 yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; yylsp = yyls + yysize - 1; YY_IGNORE_USELESS_CAST_BEGIN YYDPRINTF ((stderr, "Stack size increased to %ld\n", YY_CAST (long, yystacksize))); YY_IGNORE_USELESS_CAST_END if (yyss + yystacksize - 1 <= yyssp) YYABORT; } #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 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 empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token\n")); yychar = yylex (); } if (yychar <= YYEOF) { yychar = YYEOF; yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else if (yychar == YYerror) { /* The scanner already issued an error message, process directly to error recovery. But do not keep the error token as lookahead, it is too special and may lead us to an endless loop in error recovery. */ yychar = YYUNDEF; yytoken = YYSYMBOL_YYerror; yyerror_range[1] = yylloc; goto yyerrlab1; } 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); yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END *++yylsp = yylloc; /* Discard the shifted token. */ yychar = YYEMPTY; 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); yyerror_range[1] = yyloc; YY_REDUCE_PRINT (yyn); switch (yyn) { case 3: /* toplevel_stmt: stmt */ #line 1702 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 37656 "preproc.c" break; case 4: /* toplevel_stmt: TransactionStmtLegacy */ #line 1706 "preproc.y" { fprintf(base_yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 37666 "preproc.c" break; case 5: /* stmt: AlterEventTrigStmt */ #line 1716 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37672 "preproc.c" break; case 6: /* stmt: AlterCollationStmt */ #line 1718 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37678 "preproc.c" break; case 7: /* stmt: AlterDatabaseStmt */ #line 1720 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37684 "preproc.c" break; case 8: /* stmt: AlterDatabaseSetStmt */ #line 1722 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37690 "preproc.c" break; case 9: /* stmt: AlterDefaultPrivilegesStmt */ #line 1724 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37696 "preproc.c" break; case 10: /* stmt: AlterDomainStmt */ #line 1726 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37702 "preproc.c" break; case 11: /* stmt: AlterEnumStmt */ #line 1728 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37708 "preproc.c" break; case 12: /* stmt: AlterExtensionStmt */ #line 1730 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37714 "preproc.c" break; case 13: /* stmt: AlterExtensionContentsStmt */ #line 1732 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37720 "preproc.c" break; case 14: /* stmt: AlterFdwStmt */ #line 1734 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37726 "preproc.c" break; case 15: /* stmt: AlterForeignServerStmt */ #line 1736 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37732 "preproc.c" break; case 16: /* stmt: AlterFunctionStmt */ #line 1738 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37738 "preproc.c" break; case 17: /* stmt: AlterGroupStmt */ #line 1740 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37744 "preproc.c" break; case 18: /* stmt: AlterObjectDependsStmt */ #line 1742 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37750 "preproc.c" break; case 19: /* stmt: AlterObjectSchemaStmt */ #line 1744 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37756 "preproc.c" break; case 20: /* stmt: AlterOwnerStmt */ #line 1746 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37762 "preproc.c" break; case 21: /* stmt: AlterOperatorStmt */ #line 1748 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37768 "preproc.c" break; case 22: /* stmt: AlterTypeStmt */ #line 1750 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37774 "preproc.c" break; case 23: /* stmt: AlterPolicyStmt */ #line 1752 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37780 "preproc.c" break; case 24: /* stmt: AlterSeqStmt */ #line 1754 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37786 "preproc.c" break; case 25: /* stmt: AlterSystemStmt */ #line 1756 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37792 "preproc.c" break; case 26: /* stmt: AlterTableStmt */ #line 1758 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37798 "preproc.c" break; case 27: /* stmt: AlterTblSpcStmt */ #line 1760 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37804 "preproc.c" break; case 28: /* stmt: AlterCompositeTypeStmt */ #line 1762 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37810 "preproc.c" break; case 29: /* stmt: AlterPublicationStmt */ #line 1764 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37816 "preproc.c" break; case 30: /* stmt: AlterRoleSetStmt */ #line 1766 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37822 "preproc.c" break; case 31: /* stmt: AlterRoleStmt */ #line 1768 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37828 "preproc.c" break; case 32: /* stmt: AlterSubscriptionStmt */ #line 1770 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37834 "preproc.c" break; case 33: /* stmt: AlterStatsStmt */ #line 1772 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37840 "preproc.c" break; case 34: /* stmt: AlterTSConfigurationStmt */ #line 1774 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37846 "preproc.c" break; case 35: /* stmt: AlterTSDictionaryStmt */ #line 1776 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37852 "preproc.c" break; case 36: /* stmt: AlterUserMappingStmt */ #line 1778 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37858 "preproc.c" break; case 37: /* stmt: AnalyzeStmt */ #line 1780 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37864 "preproc.c" break; case 38: /* stmt: CallStmt */ #line 1782 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37870 "preproc.c" break; case 39: /* stmt: CheckPointStmt */ #line 1784 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37876 "preproc.c" break; case 40: /* stmt: ClosePortalStmt */ #line 1786 "preproc.y" { if (INFORMIX_MODE) { if (pg_strcasecmp((yyvsp[0].str)+strlen("close "), "database") == 0) { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in CLOSE DATABASE statement"); fprintf(base_yyout, "{ ECPGdisconnect(__LINE__, \"CURRENT\");"); whenever_action(2); free((yyvsp[0].str)); break; } } output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37898 "preproc.c" break; case 41: /* stmt: ClusterStmt */ #line 1804 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37904 "preproc.c" break; case 42: /* stmt: CommentStmt */ #line 1806 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37910 "preproc.c" break; case 43: /* stmt: ConstraintsSetStmt */ #line 1808 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37916 "preproc.c" break; case 44: /* stmt: CopyStmt */ #line 1810 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37922 "preproc.c" break; case 45: /* stmt: CreateAmStmt */ #line 1812 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37928 "preproc.c" break; case 46: /* stmt: CreateAsStmt */ #line 1814 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37934 "preproc.c" break; case 47: /* stmt: CreateAssertionStmt */ #line 1816 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37940 "preproc.c" break; case 48: /* stmt: CreateCastStmt */ #line 1818 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37946 "preproc.c" break; case 49: /* stmt: CreateConversionStmt */ #line 1820 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37952 "preproc.c" break; case 50: /* stmt: CreateDomainStmt */ #line 1822 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37958 "preproc.c" break; case 51: /* stmt: CreateExtensionStmt */ #line 1824 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37964 "preproc.c" break; case 52: /* stmt: CreateFdwStmt */ #line 1826 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37970 "preproc.c" break; case 53: /* stmt: CreateForeignServerStmt */ #line 1828 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37976 "preproc.c" break; case 54: /* stmt: CreateForeignTableStmt */ #line 1830 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37982 "preproc.c" break; case 55: /* stmt: CreateFunctionStmt */ #line 1832 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37988 "preproc.c" break; case 56: /* stmt: CreateGroupStmt */ #line 1834 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 37994 "preproc.c" break; case 57: /* stmt: CreateMatViewStmt */ #line 1836 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38000 "preproc.c" break; case 58: /* stmt: CreateOpClassStmt */ #line 1838 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38006 "preproc.c" break; case 59: /* stmt: CreateOpFamilyStmt */ #line 1840 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38012 "preproc.c" break; case 60: /* stmt: CreatePublicationStmt */ #line 1842 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38018 "preproc.c" break; case 61: /* stmt: AlterOpFamilyStmt */ #line 1844 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38024 "preproc.c" break; case 62: /* stmt: CreatePolicyStmt */ #line 1846 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38030 "preproc.c" break; case 63: /* stmt: CreatePLangStmt */ #line 1848 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38036 "preproc.c" break; case 64: /* stmt: CreateSchemaStmt */ #line 1850 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38042 "preproc.c" break; case 65: /* stmt: CreateSeqStmt */ #line 1852 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38048 "preproc.c" break; case 66: /* stmt: CreateStmt */ #line 1854 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38054 "preproc.c" break; case 67: /* stmt: CreateSubscriptionStmt */ #line 1856 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38060 "preproc.c" break; case 68: /* stmt: CreateStatsStmt */ #line 1858 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38066 "preproc.c" break; case 69: /* stmt: CreateTableSpaceStmt */ #line 1860 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38072 "preproc.c" break; case 70: /* stmt: CreateTransformStmt */ #line 1862 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38078 "preproc.c" break; case 71: /* stmt: CreateTrigStmt */ #line 1864 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38084 "preproc.c" break; case 72: /* stmt: CreateEventTrigStmt */ #line 1866 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38090 "preproc.c" break; case 73: /* stmt: CreateRoleStmt */ #line 1868 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38096 "preproc.c" break; case 74: /* stmt: CreateUserStmt */ #line 1870 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38102 "preproc.c" break; case 75: /* stmt: CreateUserMappingStmt */ #line 1872 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38108 "preproc.c" break; case 76: /* stmt: CreatedbStmt */ #line 1874 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38114 "preproc.c" break; case 77: /* stmt: DeallocateStmt */ #line 1876 "preproc.y" { output_deallocate_prepare_statement((yyvsp[0].str)); } #line 38122 "preproc.c" break; case 78: /* stmt: DeclareCursorStmt */ #line 1880 "preproc.y" { output_simple_statement((yyvsp[0].str), (strncmp((yyvsp[0].str), "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0); } #line 38128 "preproc.c" break; case 79: /* stmt: DefineStmt */ #line 1882 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38134 "preproc.c" break; case 80: /* stmt: DeleteStmt */ #line 1884 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 38140 "preproc.c" break; case 81: /* stmt: DiscardStmt */ #line 1886 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_normal); } #line 38146 "preproc.c" break; case 82: /* stmt: DoStmt */ #line 1888 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38152 "preproc.c" break; case 83: /* stmt: DropCastStmt */ #line 1890 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38158 "preproc.c" break; case 84: /* stmt: DropOpClassStmt */ #line 1892 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38164 "preproc.c" break; case 85: /* stmt: DropOpFamilyStmt */ #line 1894 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38170 "preproc.c" break; case 86: /* stmt: DropOwnedStmt */ #line 1896 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38176 "preproc.c" break; case 87: /* stmt: DropStmt */ #line 1898 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38182 "preproc.c" break; case 88: /* stmt: DropSubscriptionStmt */ #line 1900 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38188 "preproc.c" break; case 89: /* stmt: DropTableSpaceStmt */ #line 1902 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38194 "preproc.c" break; case 90: /* stmt: DropTransformStmt */ #line 1904 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38200 "preproc.c" break; case 91: /* stmt: DropRoleStmt */ #line 1906 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38206 "preproc.c" break; case 92: /* stmt: DropUserMappingStmt */ #line 1908 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38212 "preproc.c" break; case 93: /* stmt: DropdbStmt */ #line 1910 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38218 "preproc.c" break; case 94: /* stmt: ExecuteStmt */ #line 1912 "preproc.y" { check_declared_list((yyvsp[0].exec).name); if ((yyvsp[0].exec).type == NULL || strlen((yyvsp[0].exec).type) == 0) output_statement((yyvsp[0].exec).name, 1, ECPGst_execute); else { if ((yyvsp[0].exec).name[0] != '"') /* case of char_variable */ add_variable_to_tail(&argsinsert, find_variable((yyvsp[0].exec).name), &no_indicator); else { /* case of ecpg_ident or CSTRING */ char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *str = mm_strdup((yyvsp[0].exec).name + 1); /* It must be cut off double quotation because new_variable() double-quotes. */ str[strlen(str) - 1] = '\0'; sprintf(length, "%zu", strlen(str)); add_variable_to_tail(&argsinsert, new_variable(str, ECPGmake_simple_type(ECPGt_const, length, 0), 0), &no_indicator); } output_statement(cat_str(3, mm_strdup("execute"), mm_strdup("$0"), (yyvsp[0].exec).type), 0, ECPGst_exec_with_exprlist); } } #line 38246 "preproc.c" break; case 95: /* stmt: ExplainStmt */ #line 1936 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38252 "preproc.c" break; case 96: /* stmt: FetchStmt */ #line 1938 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_normal); } #line 38258 "preproc.c" break; case 97: /* stmt: GrantStmt */ #line 1940 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38264 "preproc.c" break; case 98: /* stmt: GrantRoleStmt */ #line 1942 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38270 "preproc.c" break; case 99: /* stmt: ImportForeignSchemaStmt */ #line 1944 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38276 "preproc.c" break; case 100: /* stmt: IndexStmt */ #line 1946 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38282 "preproc.c" break; case 101: /* stmt: InsertStmt */ #line 1948 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 38288 "preproc.c" break; case 102: /* stmt: ListenStmt */ #line 1950 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38294 "preproc.c" break; case 103: /* stmt: RefreshMatViewStmt */ #line 1952 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38300 "preproc.c" break; case 104: /* stmt: LoadStmt */ #line 1954 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38306 "preproc.c" break; case 105: /* stmt: LockStmt */ #line 1956 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38312 "preproc.c" break; case 106: /* stmt: MergeStmt */ #line 1958 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38318 "preproc.c" break; case 107: /* stmt: NotifyStmt */ #line 1960 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38324 "preproc.c" break; case 108: /* stmt: PrepareStmt */ #line 1962 "preproc.y" { check_declared_list((yyvsp[0].prep).name); if ((yyvsp[0].prep).type == NULL) output_prepare_statement((yyvsp[0].prep).name, (yyvsp[0].prep).stmt); else if (strlen((yyvsp[0].prep).type) == 0) { char *stmt = cat_str(3, mm_strdup("\""), (yyvsp[0].prep).stmt, mm_strdup("\"")); output_prepare_statement((yyvsp[0].prep).name, stmt); } else { if ((yyvsp[0].prep).name[0] != '"') /* case of char_variable */ add_variable_to_tail(&argsinsert, find_variable((yyvsp[0].prep).name), &no_indicator); else { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *str = mm_strdup((yyvsp[0].prep).name + 1); /* It must be cut off double quotation because new_variable() double-quotes. */ str[strlen(str) - 1] = '\0'; sprintf(length, "%zu", strlen(str)); add_variable_to_tail(&argsinsert, new_variable(str, ECPGmake_simple_type(ECPGt_const, length, 0), 0), &no_indicator); } output_statement(cat_str(5, mm_strdup("prepare"), mm_strdup("$0"), (yyvsp[0].prep).type, mm_strdup("as"), (yyvsp[0].prep).stmt), 0, ECPGst_prepare); } } #line 38356 "preproc.c" break; case 109: /* stmt: ReassignOwnedStmt */ #line 1990 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38362 "preproc.c" break; case 110: /* stmt: ReindexStmt */ #line 1992 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38368 "preproc.c" break; case 111: /* stmt: RemoveAggrStmt */ #line 1994 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38374 "preproc.c" break; case 112: /* stmt: RemoveFuncStmt */ #line 1996 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38380 "preproc.c" break; case 113: /* stmt: RemoveOperStmt */ #line 1998 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38386 "preproc.c" break; case 114: /* stmt: RenameStmt */ #line 2000 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38392 "preproc.c" break; case 115: /* stmt: RevokeStmt */ #line 2002 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38398 "preproc.c" break; case 116: /* stmt: RevokeRoleStmt */ #line 2004 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38404 "preproc.c" break; case 117: /* stmt: RuleStmt */ #line 2006 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38410 "preproc.c" break; case 118: /* stmt: SecLabelStmt */ #line 2008 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38416 "preproc.c" break; case 119: /* stmt: SelectStmt */ #line 2010 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 38422 "preproc.c" break; case 120: /* stmt: TransactionStmt */ #line 2012 "preproc.y" { fprintf(base_yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 38432 "preproc.c" break; case 121: /* stmt: TruncateStmt */ #line 2018 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38438 "preproc.c" break; case 122: /* stmt: UnlistenStmt */ #line 2020 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38444 "preproc.c" break; case 123: /* stmt: UpdateStmt */ #line 2022 "preproc.y" { output_statement((yyvsp[0].str), 1, ECPGst_prepnormal); } #line 38450 "preproc.c" break; case 124: /* stmt: VacuumStmt */ #line 2024 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38456 "preproc.c" break; case 125: /* stmt: VariableResetStmt */ #line 2026 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38462 "preproc.c" break; case 126: /* stmt: VariableSetStmt */ #line 2028 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38468 "preproc.c" break; case 127: /* stmt: VariableShowStmt */ #line 2030 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38474 "preproc.c" break; case 128: /* stmt: ViewStmt */ #line 2032 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_normal); } #line 38480 "preproc.c" break; case 129: /* stmt: ECPGAllocateDescr */ #line 2034 "preproc.y" { fprintf(base_yyout,"ECPGallocate_desc(__LINE__, %s);",(yyvsp[0].str)); whenever_action(0); free((yyvsp[0].str)); } #line 38490 "preproc.c" break; case 130: /* stmt: ECPGConnect */ #line 2040 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in CONNECT statement"); fprintf(base_yyout, "{ ECPGconnect(__LINE__, %d, %s, %d); ", compat, (yyvsp[0].str), autocommit); reset_variables(); whenever_action(2); free((yyvsp[0].str)); } #line 38504 "preproc.c" break; case 131: /* stmt: ECPGDeclareStmt */ #line 2050 "preproc.y" { output_simple_statement((yyvsp[0].str), 0); } #line 38512 "preproc.c" break; case 132: /* stmt: ECPGCursorStmt */ #line 2054 "preproc.y" { output_simple_statement((yyvsp[0].str), (strncmp((yyvsp[0].str), "ECPGset_var", strlen("ECPGset_var")) == 0) ? 4 : 0); } #line 38520 "preproc.c" break; case 133: /* stmt: ECPGDeallocateDescr */ #line 2058 "preproc.y" { fprintf(base_yyout,"ECPGdeallocate_desc(__LINE__, %s);",(yyvsp[0].str)); whenever_action(0); free((yyvsp[0].str)); } #line 38530 "preproc.c" break; case 134: /* stmt: ECPGDeclare */ #line 2064 "preproc.y" { output_simple_statement((yyvsp[0].str), 0); } #line 38538 "preproc.c" break; case 135: /* stmt: ECPGDescribe */ #line 2068 "preproc.y" { check_declared_list((yyvsp[0].describe).stmt_name); fprintf(base_yyout, "{ ECPGdescribe(__LINE__, %d, %d, %s, %s,", compat, (yyvsp[0].describe).input, connection ? connection : "NULL", (yyvsp[0].describe).stmt_name); dump_variables(argsresult, 1); fputs("ECPGt_EORT);", base_yyout); fprintf(base_yyout, "}"); output_line_number(); free((yyvsp[0].describe).stmt_name); } #line 38554 "preproc.c" break; case 136: /* stmt: ECPGDisconnect */ #line 2080 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in DISCONNECT statement"); fprintf(base_yyout, "{ ECPGdisconnect(__LINE__, %s);", (yyvsp[0].str) ? (yyvsp[0].str) : "\"CURRENT\""); whenever_action(2); free((yyvsp[0].str)); } #line 38568 "preproc.c" break; case 137: /* stmt: ECPGExecuteImmediateStmt */ #line 2089 "preproc.y" { output_statement((yyvsp[0].str), 0, ECPGst_exec_immediate); } #line 38574 "preproc.c" break; case 138: /* stmt: ECPGFree */ #line 2091 "preproc.y" { const char *con = connection ? connection : "NULL"; if (strcmp((yyvsp[0].str), "all") == 0) fprintf(base_yyout, "{ ECPGdeallocate_all(__LINE__, %d, %s);", compat, con); else if ((yyvsp[0].str)[0] == ':') fprintf(base_yyout, "{ ECPGdeallocate(__LINE__, %d, %s, %s);", compat, con, (yyvsp[0].str)+1); else fprintf(base_yyout, "{ ECPGdeallocate(__LINE__, %d, %s, \"%s\");", compat, con, (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 38592 "preproc.c" break; case 139: /* stmt: ECPGGetDescriptor */ #line 2105 "preproc.y" { lookup_descriptor((yyvsp[0].descriptor).name, connection); output_get_descr((yyvsp[0].descriptor).name, (yyvsp[0].descriptor).str); free((yyvsp[0].descriptor).name); free((yyvsp[0].descriptor).str); } #line 38603 "preproc.c" break; case 140: /* stmt: ECPGGetDescriptorHeader */ #line 2112 "preproc.y" { lookup_descriptor((yyvsp[0].str), connection); output_get_descr_header((yyvsp[0].str)); free((yyvsp[0].str)); } #line 38613 "preproc.c" break; case 141: /* stmt: ECPGOpen */ #line 2118 "preproc.y" { struct cursor *ptr; if ((ptr = add_additional_variables((yyvsp[0].str), true)) != NULL) { connection = ptr->connection ? mm_strdup(ptr->connection) : NULL; output_statement(mm_strdup(ptr->command), 0, ECPGst_normal); ptr->opened = true; } } #line 38628 "preproc.c" break; case 142: /* stmt: ECPGSetAutocommit */ #line 2129 "preproc.y" { fprintf(base_yyout, "{ ECPGsetcommit(__LINE__, \"%s\", %s);", (yyvsp[0].str), connection ? connection : "NULL"); whenever_action(2); free((yyvsp[0].str)); } #line 38638 "preproc.c" break; case 143: /* stmt: ECPGSetConnection */ #line 2135 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in SET CONNECTION statement"); fprintf(base_yyout, "{ ECPGsetconn(__LINE__, %s);", (yyvsp[0].str)); whenever_action(2); free((yyvsp[0].str)); } #line 38651 "preproc.c" break; case 144: /* stmt: ECPGSetDescriptor */ #line 2144 "preproc.y" { lookup_descriptor((yyvsp[0].descriptor).name, connection); output_set_descr((yyvsp[0].descriptor).name, (yyvsp[0].descriptor).str); free((yyvsp[0].descriptor).name); free((yyvsp[0].descriptor).str); } #line 38662 "preproc.c" break; case 145: /* stmt: ECPGSetDescriptorHeader */ #line 2151 "preproc.y" { lookup_descriptor((yyvsp[0].str), connection); output_set_descr_header((yyvsp[0].str)); free((yyvsp[0].str)); } #line 38672 "preproc.c" break; case 146: /* stmt: ECPGTypedef */ #line 2157 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in TYPE statement"); fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); output_line_number(); } #line 38685 "preproc.c" break; case 147: /* stmt: ECPGVar */ #line 2166 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in VAR statement"); output_simple_statement((yyvsp[0].str), 0); } #line 38696 "preproc.c" break; case 148: /* stmt: ECPGWhenever */ #line 2173 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "AT option not allowed in WHENEVER statement"); output_simple_statement((yyvsp[0].str), 0); } #line 38707 "preproc.c" break; case 149: /* stmt: %empty */ #line 2180 "preproc.y" { (yyval.str) = NULL; } #line 38713 "preproc.c" break; case 150: /* opt_single_name: ColId */ #line 2186 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38721 "preproc.c" break; case 151: /* opt_single_name: %empty */ #line 2190 "preproc.y" { (yyval.str)=EMPTY; } #line 38728 "preproc.c" break; case 152: /* opt_qualified_name: any_name */ #line 2197 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38736 "preproc.c" break; case 153: /* opt_qualified_name: %empty */ #line 2201 "preproc.y" { (yyval.str)=EMPTY; } #line 38743 "preproc.c" break; case 154: /* opt_concurrently: CONCURRENTLY */ #line 2208 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 38751 "preproc.c" break; case 155: /* opt_concurrently: %empty */ #line 2212 "preproc.y" { (yyval.str)=EMPTY; } #line 38758 "preproc.c" break; case 156: /* opt_drop_behavior: CASCADE */ #line 2219 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 38766 "preproc.c" break; case 157: /* opt_drop_behavior: RESTRICT */ #line 2223 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 38774 "preproc.c" break; case 158: /* opt_drop_behavior: %empty */ #line 2227 "preproc.y" { (yyval.str)=EMPTY; } #line 38781 "preproc.c" break; case 159: /* CallStmt: CALL func_application */ #line 2234 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("call"),(yyvsp[0].str)); } #line 38789 "preproc.c" break; case 160: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList */ #line 2242 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38797 "preproc.c" break; case 161: /* opt_with: WITH */ #line 2250 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 38805 "preproc.c" break; case 162: /* opt_with: WITH_LA */ #line 2254 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 38813 "preproc.c" break; case 163: /* opt_with: %empty */ #line 2258 "preproc.y" { (yyval.str)=EMPTY; } #line 38820 "preproc.c" break; case 164: /* OptRoleList: OptRoleList CreateOptRoleElem */ #line 2265 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 38828 "preproc.c" break; case 165: /* OptRoleList: %empty */ #line 2269 "preproc.y" { (yyval.str)=EMPTY; } #line 38835 "preproc.c" break; case 166: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem */ #line 2276 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 38843 "preproc.c" break; case 167: /* AlterOptRoleList: %empty */ #line 2280 "preproc.y" { (yyval.str)=EMPTY; } #line 38850 "preproc.c" break; case 168: /* AlterOptRoleElem: PASSWORD ecpg_sconst */ #line 2287 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("password"),(yyvsp[0].str)); } #line 38858 "preproc.c" break; case 169: /* AlterOptRoleElem: PASSWORD NULL_P */ #line 2291 "preproc.y" { (yyval.str) = mm_strdup("password null"); } #line 38866 "preproc.c" break; case 170: /* AlterOptRoleElem: ENCRYPTED PASSWORD ecpg_sconst */ #line 2295 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encrypted password"),(yyvsp[0].str)); } #line 38874 "preproc.c" break; case 171: /* AlterOptRoleElem: UNENCRYPTED PASSWORD ecpg_sconst */ #line 2299 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("unencrypted password"),(yyvsp[0].str)); } #line 38883 "preproc.c" break; case 172: /* AlterOptRoleElem: INHERIT */ #line 2304 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 38891 "preproc.c" break; case 173: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst */ #line 2308 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("connection limit"),(yyvsp[0].str)); } #line 38899 "preproc.c" break; case 174: /* AlterOptRoleElem: VALID UNTIL ecpg_sconst */ #line 2312 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("valid until"),(yyvsp[0].str)); } #line 38907 "preproc.c" break; case 175: /* AlterOptRoleElem: USER role_list */ #line 2316 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("user"),(yyvsp[0].str)); } #line 38915 "preproc.c" break; case 176: /* AlterOptRoleElem: ecpg_ident */ #line 2320 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38923 "preproc.c" break; case 177: /* CreateOptRoleElem: AlterOptRoleElem */ #line 2328 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 38931 "preproc.c" break; case 178: /* CreateOptRoleElem: SYSID Iconst */ #line 2332 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sysid"),(yyvsp[0].str)); } #line 38939 "preproc.c" break; case 179: /* CreateOptRoleElem: ADMIN role_list */ #line 2336 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("admin"),(yyvsp[0].str)); } #line 38947 "preproc.c" break; case 180: /* CreateOptRoleElem: ROLE role_list */ #line 2340 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("role"),(yyvsp[0].str)); } #line 38955 "preproc.c" break; case 181: /* CreateOptRoleElem: IN_P ROLE role_list */ #line 2344 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in role"),(yyvsp[0].str)); } #line 38963 "preproc.c" break; case 182: /* CreateOptRoleElem: IN_P GROUP_P role_list */ #line 2348 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in group"),(yyvsp[0].str)); } #line 38971 "preproc.c" break; case 183: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList */ #line 2356 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38979 "preproc.c" break; case 184: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList */ #line 2364 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38987 "preproc.c" break; case 185: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList */ #line 2368 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 38995 "preproc.c" break; case 186: /* opt_in_database: %empty */ #line 2376 "preproc.y" { (yyval.str)=EMPTY; } #line 39002 "preproc.c" break; case 187: /* opt_in_database: IN_P DATABASE name */ #line 2379 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in database"),(yyvsp[0].str)); } #line 39010 "preproc.c" break; case 188: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause */ #line 2387 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39018 "preproc.c" break; case 189: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause */ #line 2391 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter role all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39026 "preproc.c" break; case 190: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause */ #line 2395 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39034 "preproc.c" break; case 191: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause */ #line 2399 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter user all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39042 "preproc.c" break; case 192: /* DropRoleStmt: DROP ROLE role_list */ #line 2407 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop role"),(yyvsp[0].str)); } #line 39050 "preproc.c" break; case 193: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list */ #line 2411 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop role if exists"),(yyvsp[0].str)); } #line 39058 "preproc.c" break; case 194: /* DropRoleStmt: DROP USER role_list */ #line 2415 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop user"),(yyvsp[0].str)); } #line 39066 "preproc.c" break; case 195: /* DropRoleStmt: DROP USER IF_P EXISTS role_list */ #line 2419 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop user if exists"),(yyvsp[0].str)); } #line 39074 "preproc.c" break; case 196: /* DropRoleStmt: DROP GROUP_P role_list */ #line 2423 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop group"),(yyvsp[0].str)); } #line 39082 "preproc.c" break; case 197: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list */ #line 2427 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop group if exists"),(yyvsp[0].str)); } #line 39090 "preproc.c" break; case 198: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList */ #line 2435 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create group"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39098 "preproc.c" break; case 199: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list */ #line 2443 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter group"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("user"),(yyvsp[0].str)); } #line 39106 "preproc.c" break; case 200: /* add_drop: ADD_P */ #line 2451 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 39114 "preproc.c" break; case 201: /* add_drop: DROP */ #line 2455 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 39122 "preproc.c" break; case 202: /* CreateSchemaStmt: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList */ #line 2463 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create schema"),(yyvsp[-3].str),mm_strdup("authorization"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39130 "preproc.c" break; case 203: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList */ #line 2467 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create schema"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39138 "preproc.c" break; case 204: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList */ #line 2471 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create schema if not exists"),(yyvsp[-3].str),mm_strdup("authorization"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39146 "preproc.c" break; case 205: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList */ #line 2475 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create schema if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39154 "preproc.c" break; case 206: /* OptSchemaEltList: OptSchemaEltList schema_stmt */ #line 2483 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 39162 "preproc.c" break; case 207: /* OptSchemaEltList: %empty */ #line 2487 "preproc.y" { (yyval.str)=EMPTY; } #line 39169 "preproc.c" break; case 208: /* schema_stmt: CreateStmt */ #line 2494 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39177 "preproc.c" break; case 209: /* schema_stmt: IndexStmt */ #line 2498 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39185 "preproc.c" break; case 210: /* schema_stmt: CreateSeqStmt */ #line 2502 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39193 "preproc.c" break; case 211: /* schema_stmt: CreateTrigStmt */ #line 2506 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39201 "preproc.c" break; case 212: /* schema_stmt: GrantStmt */ #line 2510 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39209 "preproc.c" break; case 213: /* schema_stmt: ViewStmt */ #line 2514 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39217 "preproc.c" break; case 214: /* VariableSetStmt: SET set_rest */ #line 2522 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39225 "preproc.c" break; case 215: /* VariableSetStmt: SET LOCAL set_rest */ #line 2526 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set local"),(yyvsp[0].str)); } #line 39233 "preproc.c" break; case 216: /* VariableSetStmt: SET SESSION set_rest */ #line 2530 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set session"),(yyvsp[0].str)); } #line 39241 "preproc.c" break; case 217: /* set_rest: TRANSACTION transaction_mode_list */ #line 2538 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction"),(yyvsp[0].str)); } #line 39249 "preproc.c" break; case 218: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list */ #line 2542 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session characteristics as transaction"),(yyvsp[0].str)); } #line 39257 "preproc.c" break; case 219: /* set_rest: set_rest_more */ #line 2546 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39265 "preproc.c" break; case 220: /* generic_set: var_name TO var_list */ #line 2554 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 39273 "preproc.c" break; case 221: /* generic_set: var_name '=' var_list */ #line 2558 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 39281 "preproc.c" break; case 222: /* generic_set: var_name TO DEFAULT */ #line 2562 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("to default")); } #line 39289 "preproc.c" break; case 223: /* generic_set: var_name '=' DEFAULT */ #line 2566 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= default")); } #line 39297 "preproc.c" break; case 224: /* set_rest_more: generic_set */ #line 2574 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39305 "preproc.c" break; case 225: /* set_rest_more: var_name FROM CURRENT_P */ #line 2578 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("from current")); } #line 39313 "preproc.c" break; case 226: /* set_rest_more: TIME ZONE zone_value */ #line 2582 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time zone"),(yyvsp[0].str)); } #line 39321 "preproc.c" break; case 227: /* set_rest_more: CATALOG_P ecpg_sconst */ #line 2586 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("catalog"),(yyvsp[0].str)); } #line 39330 "preproc.c" break; case 228: /* set_rest_more: SCHEMA ecpg_sconst */ #line 2591 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 39338 "preproc.c" break; case 229: /* set_rest_more: NAMES opt_encoding */ #line 2595 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("names"),(yyvsp[0].str)); } #line 39346 "preproc.c" break; case 230: /* set_rest_more: ROLE NonReservedWord_or_Sconst */ #line 2599 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("role"),(yyvsp[0].str)); } #line 39354 "preproc.c" break; case 231: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst */ #line 2603 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session authorization"),(yyvsp[0].str)); } #line 39362 "preproc.c" break; case 232: /* set_rest_more: SESSION AUTHORIZATION DEFAULT */ #line 2607 "preproc.y" { (yyval.str) = mm_strdup("session authorization default"); } #line 39370 "preproc.c" break; case 233: /* set_rest_more: XML_P OPTION document_or_content */ #line 2611 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("xml option"),(yyvsp[0].str)); } #line 39378 "preproc.c" break; case 234: /* set_rest_more: TRANSACTION SNAPSHOT ecpg_sconst */ #line 2615 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction snapshot"),(yyvsp[0].str)); } #line 39386 "preproc.c" break; case 235: /* var_name: ECPGColId */ #line 2623 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39394 "preproc.c" break; case 236: /* var_name: var_name '.' ColId */ #line 2627 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 39402 "preproc.c" break; case 237: /* var_list: var_value */ #line 2635 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39410 "preproc.c" break; case 238: /* var_list: var_list ',' var_value */ #line 2639 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 39418 "preproc.c" break; case 239: /* var_value: opt_boolean_or_string */ #line 2647 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39426 "preproc.c" break; case 240: /* var_value: NumericOnly */ #line 2651 "preproc.y" { if ((yyvsp[0].str)[0] == '$') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = (yyvsp[0].str); } #line 39440 "preproc.c" break; case 241: /* iso_level: READ UNCOMMITTED */ #line 2665 "preproc.y" { (yyval.str) = mm_strdup("read uncommitted"); } #line 39448 "preproc.c" break; case 242: /* iso_level: READ COMMITTED */ #line 2669 "preproc.y" { (yyval.str) = mm_strdup("read committed"); } #line 39456 "preproc.c" break; case 243: /* iso_level: REPEATABLE READ */ #line 2673 "preproc.y" { (yyval.str) = mm_strdup("repeatable read"); } #line 39464 "preproc.c" break; case 244: /* iso_level: SERIALIZABLE */ #line 2677 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 39472 "preproc.c" break; case 245: /* opt_boolean_or_string: TRUE_P */ #line 2685 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 39480 "preproc.c" break; case 246: /* opt_boolean_or_string: FALSE_P */ #line 2689 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 39488 "preproc.c" break; case 247: /* opt_boolean_or_string: ON */ #line 2693 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 39496 "preproc.c" break; case 248: /* opt_boolean_or_string: NonReservedWord_or_Sconst */ #line 2697 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39504 "preproc.c" break; case 249: /* zone_value: ecpg_sconst */ #line 2705 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39512 "preproc.c" break; case 250: /* zone_value: ecpg_ident */ #line 2709 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39520 "preproc.c" break; case 251: /* zone_value: ConstInterval ecpg_sconst opt_interval */ #line 2713 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39528 "preproc.c" break; case 252: /* zone_value: ConstInterval '(' Iconst ')' ecpg_sconst */ #line 2717 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 39536 "preproc.c" break; case 253: /* zone_value: NumericOnly */ #line 2721 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39544 "preproc.c" break; case 254: /* zone_value: DEFAULT */ #line 2725 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 39552 "preproc.c" break; case 255: /* zone_value: LOCAL */ #line 2729 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 39560 "preproc.c" break; case 256: /* opt_encoding: ecpg_sconst */ #line 2737 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39568 "preproc.c" break; case 257: /* opt_encoding: DEFAULT */ #line 2741 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 39576 "preproc.c" break; case 258: /* opt_encoding: %empty */ #line 2745 "preproc.y" { (yyval.str)=EMPTY; } #line 39583 "preproc.c" break; case 259: /* NonReservedWord_or_Sconst: NonReservedWord */ #line 2752 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39591 "preproc.c" break; case 260: /* NonReservedWord_or_Sconst: ecpg_sconst */ #line 2756 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39599 "preproc.c" break; case 261: /* VariableResetStmt: RESET reset_rest */ #line 2764 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } #line 39607 "preproc.c" break; case 262: /* reset_rest: generic_reset */ #line 2772 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39615 "preproc.c" break; case 263: /* reset_rest: TIME ZONE */ #line 2776 "preproc.y" { (yyval.str) = mm_strdup("time zone"); } #line 39623 "preproc.c" break; case 264: /* reset_rest: TRANSACTION ISOLATION LEVEL */ #line 2780 "preproc.y" { (yyval.str) = mm_strdup("transaction isolation level"); } #line 39631 "preproc.c" break; case 265: /* reset_rest: SESSION AUTHORIZATION */ #line 2784 "preproc.y" { (yyval.str) = mm_strdup("session authorization"); } #line 39639 "preproc.c" break; case 266: /* generic_reset: var_name */ #line 2792 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39647 "preproc.c" break; case 267: /* generic_reset: ALL */ #line 2796 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 39655 "preproc.c" break; case 268: /* SetResetClause: SET set_rest */ #line 2804 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39663 "preproc.c" break; case 269: /* SetResetClause: VariableResetStmt */ #line 2808 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39671 "preproc.c" break; case 270: /* FunctionSetResetClause: SET set_rest_more */ #line 2816 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 39679 "preproc.c" break; case 271: /* FunctionSetResetClause: VariableResetStmt */ #line 2820 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39687 "preproc.c" break; case 272: /* VariableShowStmt: SHOW var_name ecpg_into */ #line 2828 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("show"),(yyvsp[-1].str)); } #line 39695 "preproc.c" break; case 273: /* VariableShowStmt: SHOW TIME ZONE ecpg_into */ #line 2832 "preproc.y" { (yyval.str) = mm_strdup("show time zone"); } #line 39703 "preproc.c" break; case 274: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL ecpg_into */ #line 2836 "preproc.y" { (yyval.str) = mm_strdup("show transaction isolation level"); } #line 39711 "preproc.c" break; case 275: /* VariableShowStmt: SHOW SESSION AUTHORIZATION ecpg_into */ #line 2840 "preproc.y" { (yyval.str) = mm_strdup("show session authorization"); } #line 39719 "preproc.c" break; case 276: /* VariableShowStmt: SHOW ALL */ #line 2844 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "SHOW ALL is not implemented"); (yyval.str) = EMPTY; } #line 39728 "preproc.c" break; case 277: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode */ #line 2853 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("set constraints"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39736 "preproc.c" break; case 278: /* constraints_set_list: ALL */ #line 2861 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 39744 "preproc.c" break; case 279: /* constraints_set_list: qualified_name_list */ #line 2865 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39752 "preproc.c" break; case 280: /* constraints_set_mode: DEFERRED */ #line 2873 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 39760 "preproc.c" break; case 281: /* constraints_set_mode: IMMEDIATE */ #line 2877 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 39768 "preproc.c" break; case 282: /* CheckPointStmt: CHECKPOINT */ #line 2885 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 39776 "preproc.c" break; case 283: /* DiscardStmt: DISCARD ALL */ #line 2893 "preproc.y" { (yyval.str) = mm_strdup("discard all"); } #line 39784 "preproc.c" break; case 284: /* DiscardStmt: DISCARD TEMP */ #line 2897 "preproc.y" { (yyval.str) = mm_strdup("discard temp"); } #line 39792 "preproc.c" break; case 285: /* DiscardStmt: DISCARD TEMPORARY */ #line 2901 "preproc.y" { (yyval.str) = mm_strdup("discard temporary"); } #line 39800 "preproc.c" break; case 286: /* DiscardStmt: DISCARD PLANS */ #line 2905 "preproc.y" { (yyval.str) = mm_strdup("discard plans"); } #line 39808 "preproc.c" break; case 287: /* DiscardStmt: DISCARD SEQUENCES */ #line 2909 "preproc.y" { (yyval.str) = mm_strdup("discard sequences"); } #line 39816 "preproc.c" break; case 288: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */ #line 2917 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39824 "preproc.c" break; case 289: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */ #line 2921 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39832 "preproc.c" break; case 290: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd */ #line 2925 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39840 "preproc.c" break; case 291: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd */ #line 2929 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39848 "preproc.c" break; case 292: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2933 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter table all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39856 "preproc.c" break; case 293: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2937 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39864 "preproc.c" break; case 294: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */ #line 2941 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39872 "preproc.c" break; case 295: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */ #line 2945 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39880 "preproc.c" break; case 296: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd */ #line 2949 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39888 "preproc.c" break; case 297: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2953 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter index all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39896 "preproc.c" break; case 298: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2957 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter index all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39904 "preproc.c" break; case 299: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */ #line 2961 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39912 "preproc.c" break; case 300: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */ #line 2965 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39920 "preproc.c" break; case 301: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */ #line 2969 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39928 "preproc.c" break; case 302: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */ #line 2973 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39936 "preproc.c" break; case 303: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds */ #line 2977 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39944 "preproc.c" break; case 304: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds */ #line 2981 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39952 "preproc.c" break; case 305: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ #line 2985 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter materialized view all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39960 "preproc.c" break; case 306: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ #line 2989 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39968 "preproc.c" break; case 307: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds */ #line 2993 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39976 "preproc.c" break; case 308: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds */ #line 2997 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 39984 "preproc.c" break; case 309: /* alter_table_cmds: alter_table_cmd */ #line 3005 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 39992 "preproc.c" break; case 310: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */ #line 3009 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40000 "preproc.c" break; case 311: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec */ #line 3017 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("attach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40008 "preproc.c" break; case 312: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently */ #line 3021 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40016 "preproc.c" break; case 313: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE */ #line 3025 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),mm_strdup("finalize")); } #line 40024 "preproc.c" break; case 314: /* index_partition_cmd: ATTACH PARTITION qualified_name */ #line 3033 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("attach partition"),(yyvsp[0].str)); } #line 40032 "preproc.c" break; case 315: /* alter_table_cmd: ADD_P columnDef */ #line 3041 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 40040 "preproc.c" break; case 316: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */ #line 3045 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add if not exists"),(yyvsp[0].str)); } #line 40048 "preproc.c" break; case 317: /* alter_table_cmd: ADD_P COLUMN columnDef */ #line 3049 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column"),(yyvsp[0].str)); } #line 40056 "preproc.c" break; case 318: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */ #line 3053 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column if not exists"),(yyvsp[0].str)); } #line 40064 "preproc.c" break; case 319: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */ #line 3057 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40072 "preproc.c" break; case 320: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */ #line 3061 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("drop not null")); } #line 40080 "preproc.c" break; case 321: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */ #line 3065 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set not null")); } #line 40088 "preproc.c" break; case 322: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION */ #line 3069 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop expression")); } #line 40096 "preproc.c" break; case 323: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS */ #line 3073 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop expression if exists")); } #line 40104 "preproc.c" break; case 324: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */ #line 3077 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 40112 "preproc.c" break; case 325: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS SignedIconst */ #line 3081 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 40120 "preproc.c" break; case 326: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */ #line 3085 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 40128 "preproc.c" break; case 327: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */ #line 3089 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } #line 40136 "preproc.c" break; case 328: /* alter_table_cmd: ALTER opt_column ColId SET column_storage */ #line 3093 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 40144 "preproc.c" break; case 329: /* alter_table_cmd: ALTER opt_column ColId SET column_compression */ #line 3097 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 40152 "preproc.c" break; case 330: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 3101 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("add generated"),(yyvsp[-3].str),mm_strdup("as identity"),(yyvsp[0].str)); } #line 40160 "preproc.c" break; case 331: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */ #line 3105 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40168 "preproc.c" break; case 332: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */ #line 3109 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop identity")); } #line 40176 "preproc.c" break; case 333: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */ #line 3113 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop identity if exists")); } #line 40184 "preproc.c" break; case 334: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */ #line 3117 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40192 "preproc.c" break; case 335: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */ #line 3121 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40200 "preproc.c" break; case 336: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */ #line 3125 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40208 "preproc.c" break; case 337: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */ #line 3129 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40216 "preproc.c" break; case 338: /* alter_table_cmd: ADD_P TableConstraint */ #line 3133 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 40224 "preproc.c" break; case 339: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */ #line 3137 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40232 "preproc.c" break; case 340: /* alter_table_cmd: VALIDATE CONSTRAINT name */ #line 3141 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validate constraint"),(yyvsp[0].str)); } #line 40240 "preproc.c" break; case 341: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ #line 3145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40248 "preproc.c" break; case 342: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */ #line 3149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40256 "preproc.c" break; case 343: /* alter_table_cmd: SET WITHOUT OIDS */ #line 3153 "preproc.y" { (yyval.str) = mm_strdup("set without oids"); } #line 40264 "preproc.c" break; case 344: /* alter_table_cmd: CLUSTER ON name */ #line 3157 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster on"),(yyvsp[0].str)); } #line 40272 "preproc.c" break; case 345: /* alter_table_cmd: SET WITHOUT CLUSTER */ #line 3161 "preproc.y" { (yyval.str) = mm_strdup("set without cluster"); } #line 40280 "preproc.c" break; case 346: /* alter_table_cmd: SET LOGGED */ #line 3165 "preproc.y" { (yyval.str) = mm_strdup("set logged"); } #line 40288 "preproc.c" break; case 347: /* alter_table_cmd: SET UNLOGGED */ #line 3169 "preproc.y" { (yyval.str) = mm_strdup("set unlogged"); } #line 40296 "preproc.c" break; case 348: /* alter_table_cmd: ENABLE_P TRIGGER name */ #line 3173 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable trigger"),(yyvsp[0].str)); } #line 40304 "preproc.c" break; case 349: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name */ #line 3177 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always trigger"),(yyvsp[0].str)); } #line 40312 "preproc.c" break; case 350: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name */ #line 3181 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica trigger"),(yyvsp[0].str)); } #line 40320 "preproc.c" break; case 351: /* alter_table_cmd: ENABLE_P TRIGGER ALL */ #line 3185 "preproc.y" { (yyval.str) = mm_strdup("enable trigger all"); } #line 40328 "preproc.c" break; case 352: /* alter_table_cmd: ENABLE_P TRIGGER USER */ #line 3189 "preproc.y" { (yyval.str) = mm_strdup("enable trigger user"); } #line 40336 "preproc.c" break; case 353: /* alter_table_cmd: DISABLE_P TRIGGER name */ #line 3193 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable trigger"),(yyvsp[0].str)); } #line 40344 "preproc.c" break; case 354: /* alter_table_cmd: DISABLE_P TRIGGER ALL */ #line 3197 "preproc.y" { (yyval.str) = mm_strdup("disable trigger all"); } #line 40352 "preproc.c" break; case 355: /* alter_table_cmd: DISABLE_P TRIGGER USER */ #line 3201 "preproc.y" { (yyval.str) = mm_strdup("disable trigger user"); } #line 40360 "preproc.c" break; case 356: /* alter_table_cmd: ENABLE_P RULE name */ #line 3205 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable rule"),(yyvsp[0].str)); } #line 40368 "preproc.c" break; case 357: /* alter_table_cmd: ENABLE_P ALWAYS RULE name */ #line 3209 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always rule"),(yyvsp[0].str)); } #line 40376 "preproc.c" break; case 358: /* alter_table_cmd: ENABLE_P REPLICA RULE name */ #line 3213 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica rule"),(yyvsp[0].str)); } #line 40384 "preproc.c" break; case 359: /* alter_table_cmd: DISABLE_P RULE name */ #line 3217 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable rule"),(yyvsp[0].str)); } #line 40392 "preproc.c" break; case 360: /* alter_table_cmd: INHERIT qualified_name */ #line 3221 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inherit"),(yyvsp[0].str)); } #line 40400 "preproc.c" break; case 361: /* alter_table_cmd: NO INHERIT qualified_name */ #line 3225 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("no inherit"),(yyvsp[0].str)); } #line 40408 "preproc.c" break; case 362: /* alter_table_cmd: OF any_name */ #line 3229 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } #line 40416 "preproc.c" break; case 363: /* alter_table_cmd: NOT OF */ #line 3233 "preproc.y" { (yyval.str) = mm_strdup("not of"); } #line 40424 "preproc.c" break; case 364: /* alter_table_cmd: OWNER TO RoleSpec */ #line 3237 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner to"),(yyvsp[0].str)); } #line 40432 "preproc.c" break; case 365: /* alter_table_cmd: SET ACCESS METHOD name */ #line 3241 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set access method"),(yyvsp[0].str)); } #line 40440 "preproc.c" break; case 366: /* alter_table_cmd: SET TABLESPACE name */ #line 3245 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set tablespace"),(yyvsp[0].str)); } #line 40448 "preproc.c" break; case 367: /* alter_table_cmd: SET reloptions */ #line 3249 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 40456 "preproc.c" break; case 368: /* alter_table_cmd: RESET reloptions */ #line 3253 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } #line 40464 "preproc.c" break; case 369: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity */ #line 3257 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("replica identity"),(yyvsp[0].str)); } #line 40472 "preproc.c" break; case 370: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY */ #line 3261 "preproc.y" { (yyval.str) = mm_strdup("enable row level security"); } #line 40480 "preproc.c" break; case 371: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY */ #line 3265 "preproc.y" { (yyval.str) = mm_strdup("disable row level security"); } #line 40488 "preproc.c" break; case 372: /* alter_table_cmd: FORCE ROW LEVEL SECURITY */ #line 3269 "preproc.y" { (yyval.str) = mm_strdup("force row level security"); } #line 40496 "preproc.c" break; case 373: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY */ #line 3273 "preproc.y" { (yyval.str) = mm_strdup("no force row level security"); } #line 40504 "preproc.c" break; case 374: /* alter_table_cmd: alter_generic_options */ #line 3277 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40512 "preproc.c" break; case 375: /* alter_column_default: SET DEFAULT a_expr */ #line 3285 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } #line 40520 "preproc.c" break; case 376: /* alter_column_default: DROP DEFAULT */ #line 3289 "preproc.y" { (yyval.str) = mm_strdup("drop default"); } #line 40528 "preproc.c" break; case 377: /* opt_collate_clause: COLLATE any_name */ #line 3297 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 40536 "preproc.c" break; case 378: /* opt_collate_clause: %empty */ #line 3301 "preproc.y" { (yyval.str)=EMPTY; } #line 40543 "preproc.c" break; case 379: /* alter_using: USING a_expr */ #line 3308 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 40551 "preproc.c" break; case 380: /* alter_using: %empty */ #line 3312 "preproc.y" { (yyval.str)=EMPTY; } #line 40558 "preproc.c" break; case 381: /* replica_identity: NOTHING */ #line 3319 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 40566 "preproc.c" break; case 382: /* replica_identity: FULL */ #line 3323 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 40574 "preproc.c" break; case 383: /* replica_identity: DEFAULT */ #line 3327 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 40582 "preproc.c" break; case 384: /* replica_identity: USING INDEX name */ #line 3331 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } #line 40590 "preproc.c" break; case 385: /* reloptions: '(' reloption_list ')' */ #line 3339 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40598 "preproc.c" break; case 386: /* opt_reloptions: WITH reloptions */ #line 3347 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 40606 "preproc.c" break; case 387: /* opt_reloptions: %empty */ #line 3351 "preproc.y" { (yyval.str)=EMPTY; } #line 40613 "preproc.c" break; case 388: /* reloption_list: reloption_elem */ #line 3358 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40621 "preproc.c" break; case 389: /* reloption_list: reloption_list ',' reloption_elem */ #line 3362 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40629 "preproc.c" break; case 390: /* reloption_elem: ColLabel '=' def_arg */ #line 3370 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 40637 "preproc.c" break; case 391: /* reloption_elem: ColLabel */ #line 3374 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40645 "preproc.c" break; case 392: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */ #line 3378 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("."),(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 40653 "preproc.c" break; case 393: /* reloption_elem: ColLabel '.' ColLabel */ #line 3382 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 40661 "preproc.c" break; case 394: /* alter_identity_column_option_list: alter_identity_column_option */ #line 3390 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40669 "preproc.c" break; case 395: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */ #line 3394 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40677 "preproc.c" break; case 396: /* alter_identity_column_option: RESTART */ #line 3402 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 40685 "preproc.c" break; case 397: /* alter_identity_column_option: RESTART opt_with NumericOnly */ #line 3406 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40693 "preproc.c" break; case 398: /* alter_identity_column_option: SET SeqOptElem */ #line 3410 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 40701 "preproc.c" break; case 399: /* alter_identity_column_option: SET GENERATED generated_when */ #line 3414 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set generated"),(yyvsp[0].str)); } #line 40709 "preproc.c" break; case 400: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')' */ #line 3422 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values with ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40717 "preproc.c" break; case 401: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')' */ #line 3426 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values in ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40725 "preproc.c" break; case 402: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')' */ #line 3430 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("for values from ("),(yyvsp[-5].str),mm_strdup(") to ("),(yyvsp[-1].str),mm_strdup(")")); } #line 40733 "preproc.c" break; case 403: /* PartitionBoundSpec: DEFAULT */ #line 3434 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 40741 "preproc.c" break; case 404: /* hash_partbound_elem: NonReservedWord Iconst */ #line 3442 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40749 "preproc.c" break; case 405: /* hash_partbound: hash_partbound_elem */ #line 3450 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40757 "preproc.c" break; case 406: /* hash_partbound: hash_partbound ',' hash_partbound_elem */ #line 3454 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40765 "preproc.c" break; case 407: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds */ #line 3462 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40773 "preproc.c" break; case 408: /* alter_type_cmds: alter_type_cmd */ #line 3470 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40781 "preproc.c" break; case 409: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd */ #line 3474 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 40789 "preproc.c" break; case 410: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior */ #line 3482 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("add attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40797 "preproc.c" break; case 411: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior */ #line 3486 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40805 "preproc.c" break; case 412: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior */ #line 3490 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40813 "preproc.c" break; case 413: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior */ #line 3494 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter attribute"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40821 "preproc.c" break; case 414: /* ClosePortalStmt: CLOSE cursor_name */ #line 3502 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = NULL; for (ptr = cur; ptr != NULL; ptr = ptr -> next) { if (strcmp((yyvsp[0].str), ptr -> name) == 0) { if (ptr -> connection) connection = mm_strdup(ptr -> connection); break; } } (yyval.str) = cat2_str(mm_strdup("close"), cursor_marker); } #line 40841 "preproc.c" break; case 415: /* ClosePortalStmt: CLOSE ALL */ #line 3518 "preproc.y" { (yyval.str) = mm_strdup("close all"); } #line 40849 "preproc.c" break; case 416: /* CopyStmt: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause */ #line 3526 "preproc.y" { if (strcmp((yyvsp[-5].str), "from") == 0 && (strcmp((yyvsp[-4].str), "stdin") == 0 || strcmp((yyvsp[-4].str), "stdout") == 0)) mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not implemented"); (yyval.str) = cat_str(11,mm_strdup("copy"),(yyvsp[-9].str),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40861 "preproc.c" break; case 417: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options */ #line 3534 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("copy ("),(yyvsp[-6].str),mm_strdup(") to"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40869 "preproc.c" break; case 418: /* copy_from: FROM */ #line 3542 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 40877 "preproc.c" break; case 419: /* copy_from: TO */ #line 3546 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 40885 "preproc.c" break; case 420: /* opt_program: PROGRAM */ #line 3554 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 40893 "preproc.c" break; case 421: /* opt_program: %empty */ #line 3558 "preproc.y" { (yyval.str)=EMPTY; } #line 40900 "preproc.c" break; case 422: /* copy_file_name: ecpg_sconst */ #line 3565 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40908 "preproc.c" break; case 423: /* copy_file_name: STDIN */ #line 3569 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 40916 "preproc.c" break; case 424: /* copy_file_name: STDOUT */ #line 3573 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 40924 "preproc.c" break; case 425: /* copy_options: copy_opt_list */ #line 3581 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 40932 "preproc.c" break; case 426: /* copy_options: '(' copy_generic_opt_list ')' */ #line 3585 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 40940 "preproc.c" break; case 427: /* copy_opt_list: copy_opt_list copy_opt_item */ #line 3593 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 40948 "preproc.c" break; case 428: /* copy_opt_list: %empty */ #line 3597 "preproc.y" { (yyval.str)=EMPTY; } #line 40955 "preproc.c" break; case 429: /* copy_opt_item: BINARY */ #line 3604 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 40963 "preproc.c" break; case 430: /* copy_opt_item: FREEZE */ #line 3608 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 40971 "preproc.c" break; case 431: /* copy_opt_item: DELIMITER opt_as ecpg_sconst */ #line 3612 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("delimiter"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40979 "preproc.c" break; case 432: /* copy_opt_item: NULL_P opt_as ecpg_sconst */ #line 3616 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("null"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 40987 "preproc.c" break; case 433: /* copy_opt_item: CSV */ #line 3620 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 40995 "preproc.c" break; case 434: /* copy_opt_item: HEADER_P */ #line 3624 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 41003 "preproc.c" break; case 435: /* copy_opt_item: QUOTE opt_as ecpg_sconst */ #line 3628 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("quote"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41011 "preproc.c" break; case 436: /* copy_opt_item: ESCAPE opt_as ecpg_sconst */ #line 3632 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("escape"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41019 "preproc.c" break; case 437: /* copy_opt_item: FORCE QUOTE columnList */ #line 3636 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force quote"),(yyvsp[0].str)); } #line 41027 "preproc.c" break; case 438: /* copy_opt_item: FORCE QUOTE '*' */ #line 3640 "preproc.y" { (yyval.str) = mm_strdup("force quote *"); } #line 41035 "preproc.c" break; case 439: /* copy_opt_item: FORCE NOT NULL_P columnList */ #line 3644 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force not null"),(yyvsp[0].str)); } #line 41043 "preproc.c" break; case 440: /* copy_opt_item: FORCE NULL_P columnList */ #line 3648 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force null"),(yyvsp[0].str)); } #line 41051 "preproc.c" break; case 441: /* copy_opt_item: ENCODING ecpg_sconst */ #line 3652 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encoding"),(yyvsp[0].str)); } #line 41059 "preproc.c" break; case 442: /* opt_binary: BINARY */ #line 3660 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 41067 "preproc.c" break; case 443: /* opt_binary: %empty */ #line 3664 "preproc.y" { (yyval.str)=EMPTY; } #line 41074 "preproc.c" break; case 444: /* copy_delimiter: opt_using DELIMITERS ecpg_sconst */ #line 3671 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("delimiters"),(yyvsp[0].str)); } #line 41082 "preproc.c" break; case 445: /* copy_delimiter: %empty */ #line 3675 "preproc.y" { (yyval.str)=EMPTY; } #line 41089 "preproc.c" break; case 446: /* opt_using: USING */ #line 3682 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 41097 "preproc.c" break; case 447: /* opt_using: %empty */ #line 3686 "preproc.y" { (yyval.str)=EMPTY; } #line 41104 "preproc.c" break; case 448: /* copy_generic_opt_list: copy_generic_opt_elem */ #line 3693 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41112 "preproc.c" break; case 449: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */ #line 3697 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41120 "preproc.c" break; case 450: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */ #line 3705 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41128 "preproc.c" break; case 451: /* copy_generic_opt_arg: opt_boolean_or_string */ #line 3713 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41136 "preproc.c" break; case 452: /* copy_generic_opt_arg: NumericOnly */ #line 3717 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41144 "preproc.c" break; case 453: /* copy_generic_opt_arg: '*' */ #line 3721 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 41152 "preproc.c" break; case 454: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */ #line 3725 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41160 "preproc.c" break; case 455: /* copy_generic_opt_arg: %empty */ #line 3729 "preproc.y" { (yyval.str)=EMPTY; } #line 41167 "preproc.c" break; case 456: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */ #line 3736 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41175 "preproc.c" break; case 457: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */ #line 3740 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41183 "preproc.c" break; case 458: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */ #line 3748 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41191 "preproc.c" break; case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3756 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("table"),(yyvsp[-9].str),mm_strdup("("),(yyvsp[-7].str),mm_strdup(")"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41199 "preproc.c" break; case 460: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3760 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-14].str),mm_strdup("table if not exists"),(yyvsp[-9].str),mm_strdup("("),(yyvsp[-7].str),mm_strdup(")"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41207 "preproc.c" break; case 461: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3764 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("table"),(yyvsp[-8].str),mm_strdup("of"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41215 "preproc.c" break; case 462: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3768 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-13].str),mm_strdup("table if not exists"),(yyvsp[-8].str),mm_strdup("of"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41223 "preproc.c" break; case 463: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3772 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-12].str),mm_strdup("table"),(yyvsp[-10].str),mm_strdup("partition of"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41231 "preproc.c" break; case 464: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 3776 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-15].str),mm_strdup("table if not exists"),(yyvsp[-10].str),mm_strdup("partition of"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41239 "preproc.c" break; case 465: /* OptTemp: TEMPORARY */ #line 3784 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 41247 "preproc.c" break; case 466: /* OptTemp: TEMP */ #line 3788 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 41255 "preproc.c" break; case 467: /* OptTemp: LOCAL TEMPORARY */ #line 3792 "preproc.y" { (yyval.str) = mm_strdup("local temporary"); } #line 41263 "preproc.c" break; case 468: /* OptTemp: LOCAL TEMP */ #line 3796 "preproc.y" { (yyval.str) = mm_strdup("local temp"); } #line 41271 "preproc.c" break; case 469: /* OptTemp: GLOBAL TEMPORARY */ #line 3800 "preproc.y" { (yyval.str) = mm_strdup("global temporary"); } #line 41279 "preproc.c" break; case 470: /* OptTemp: GLOBAL TEMP */ #line 3804 "preproc.y" { (yyval.str) = mm_strdup("global temp"); } #line 41287 "preproc.c" break; case 471: /* OptTemp: UNLOGGED */ #line 3808 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 41295 "preproc.c" break; case 472: /* OptTemp: %empty */ #line 3812 "preproc.y" { (yyval.str)=EMPTY; } #line 41302 "preproc.c" break; case 473: /* OptTableElementList: TableElementList */ #line 3819 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41310 "preproc.c" break; case 474: /* OptTableElementList: %empty */ #line 3823 "preproc.y" { (yyval.str)=EMPTY; } #line 41317 "preproc.c" break; case 475: /* OptTypedTableElementList: '(' TypedTableElementList ')' */ #line 3830 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41325 "preproc.c" break; case 476: /* OptTypedTableElementList: %empty */ #line 3834 "preproc.y" { (yyval.str)=EMPTY; } #line 41332 "preproc.c" break; case 477: /* TableElementList: TableElement */ #line 3841 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41340 "preproc.c" break; case 478: /* TableElementList: TableElementList ',' TableElement */ #line 3845 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41348 "preproc.c" break; case 479: /* TypedTableElementList: TypedTableElement */ #line 3853 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41356 "preproc.c" break; case 480: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement */ #line 3857 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41364 "preproc.c" break; case 481: /* TableElement: columnDef */ #line 3865 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41372 "preproc.c" break; case 482: /* TableElement: TableLikeClause */ #line 3869 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41380 "preproc.c" break; case 483: /* TableElement: TableConstraint */ #line 3873 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41388 "preproc.c" break; case 484: /* TypedTableElement: columnOptions */ #line 3881 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41396 "preproc.c" break; case 485: /* TypedTableElement: TableConstraint */ #line 3885 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41404 "preproc.c" break; case 486: /* columnDef: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList */ #line 3893 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41412 "preproc.c" break; case 487: /* columnOptions: ColId ColQualList */ #line 3901 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41420 "preproc.c" break; case 488: /* columnOptions: ColId WITH OPTIONS ColQualList */ #line 3905 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("with options"),(yyvsp[0].str)); } #line 41428 "preproc.c" break; case 489: /* column_compression: COMPRESSION ColId */ #line 3913 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("compression"),(yyvsp[0].str)); } #line 41436 "preproc.c" break; case 490: /* column_compression: COMPRESSION DEFAULT */ #line 3917 "preproc.y" { (yyval.str) = mm_strdup("compression default"); } #line 41444 "preproc.c" break; case 491: /* opt_column_compression: column_compression */ #line 3925 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41452 "preproc.c" break; case 492: /* opt_column_compression: %empty */ #line 3929 "preproc.y" { (yyval.str)=EMPTY; } #line 41459 "preproc.c" break; case 493: /* column_storage: STORAGE ColId */ #line 3936 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("storage"),(yyvsp[0].str)); } #line 41467 "preproc.c" break; case 494: /* column_storage: STORAGE DEFAULT */ #line 3940 "preproc.y" { (yyval.str) = mm_strdup("storage default"); } #line 41475 "preproc.c" break; case 495: /* opt_column_storage: column_storage */ #line 3948 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41483 "preproc.c" break; case 496: /* opt_column_storage: %empty */ #line 3952 "preproc.y" { (yyval.str)=EMPTY; } #line 41490 "preproc.c" break; case 497: /* ColQualList: ColQualList ColConstraint */ #line 3959 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 41498 "preproc.c" break; case 498: /* ColQualList: %empty */ #line 3963 "preproc.y" { (yyval.str)=EMPTY; } #line 41505 "preproc.c" break; case 499: /* ColConstraint: CONSTRAINT name ColConstraintElem */ #line 3970 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41513 "preproc.c" break; case 500: /* ColConstraint: ColConstraintElem */ #line 3974 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41521 "preproc.c" break; case 501: /* ColConstraint: ConstraintAttr */ #line 3978 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41529 "preproc.c" break; case 502: /* ColConstraint: COLLATE any_name */ #line 3982 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 41537 "preproc.c" break; case 503: /* ColConstraintElem: NOT NULL_P */ #line 3990 "preproc.y" { (yyval.str) = mm_strdup("not null"); } #line 41545 "preproc.c" break; case 504: /* ColConstraintElem: NULL_P */ #line 3994 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 41553 "preproc.c" break; case 505: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace */ #line 3998 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("unique"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41561 "preproc.c" break; case 506: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace */ #line 4002 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41569 "preproc.c" break; case 507: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit */ #line 4006 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 41577 "preproc.c" break; case 508: /* ColConstraintElem: DEFAULT b_expr */ #line 4010 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 41585 "preproc.c" break; case 509: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ #line 4014 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("generated"),(yyvsp[-3].str),mm_strdup("as identity"),(yyvsp[0].str)); } #line 41593 "preproc.c" break; case 510: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' STORED */ #line 4018 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("generated"),(yyvsp[-5].str),mm_strdup("as ("),(yyvsp[-2].str),mm_strdup(") stored")); } #line 41601 "preproc.c" break; case 511: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */ #line 4022 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("references"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41609 "preproc.c" break; case 512: /* opt_unique_null_treatment: NULLS_P DISTINCT */ #line 4030 "preproc.y" { (yyval.str) = mm_strdup("nulls distinct"); } #line 41617 "preproc.c" break; case 513: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT */ #line 4034 "preproc.y" { (yyval.str) = mm_strdup("nulls not distinct"); } #line 41625 "preproc.c" break; case 514: /* opt_unique_null_treatment: %empty */ #line 4038 "preproc.y" { (yyval.str)=EMPTY; } #line 41632 "preproc.c" break; case 515: /* generated_when: ALWAYS */ #line 4045 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 41640 "preproc.c" break; case 516: /* generated_when: BY DEFAULT */ #line 4049 "preproc.y" { (yyval.str) = mm_strdup("by default"); } #line 41648 "preproc.c" break; case 517: /* ConstraintAttr: DEFERRABLE */ #line 4057 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 41656 "preproc.c" break; case 518: /* ConstraintAttr: NOT DEFERRABLE */ #line 4061 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 41664 "preproc.c" break; case 519: /* ConstraintAttr: INITIALLY DEFERRED */ #line 4065 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } #line 41672 "preproc.c" break; case 520: /* ConstraintAttr: INITIALLY IMMEDIATE */ #line 4069 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } #line 41680 "preproc.c" break; case 521: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */ #line 4077 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("like"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41688 "preproc.c" break; case 522: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */ #line 4085 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("including"),(yyvsp[0].str)); } #line 41696 "preproc.c" break; case 523: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */ #line 4089 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("excluding"),(yyvsp[0].str)); } #line 41704 "preproc.c" break; case 524: /* TableLikeOptionList: %empty */ #line 4093 "preproc.y" { (yyval.str)=EMPTY; } #line 41711 "preproc.c" break; case 525: /* TableLikeOption: COMMENTS */ #line 4100 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 41719 "preproc.c" break; case 526: /* TableLikeOption: COMPRESSION */ #line 4104 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 41727 "preproc.c" break; case 527: /* TableLikeOption: CONSTRAINTS */ #line 4108 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 41735 "preproc.c" break; case 528: /* TableLikeOption: DEFAULTS */ #line 4112 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 41743 "preproc.c" break; case 529: /* TableLikeOption: IDENTITY_P */ #line 4116 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 41751 "preproc.c" break; case 530: /* TableLikeOption: GENERATED */ #line 4120 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 41759 "preproc.c" break; case 531: /* TableLikeOption: INDEXES */ #line 4124 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 41767 "preproc.c" break; case 532: /* TableLikeOption: STATISTICS */ #line 4128 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 41775 "preproc.c" break; case 533: /* TableLikeOption: STORAGE */ #line 4132 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 41783 "preproc.c" break; case 534: /* TableLikeOption: ALL */ #line 4136 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 41791 "preproc.c" break; case 535: /* TableConstraint: CONSTRAINT name ConstraintElem */ #line 4144 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41799 "preproc.c" break; case 536: /* TableConstraint: ConstraintElem */ #line 4148 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41807 "preproc.c" break; case 537: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec */ #line 4156 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 41815 "preproc.c" break; case 538: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ #line 4160 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("unique"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41823 "preproc.c" break; case 539: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */ #line 4164 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unique"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41831 "preproc.c" break; case 540: /* ConstraintElem: PRIMARY KEY '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ #line 4168 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("primary key ("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41839 "preproc.c" break; case 541: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */ #line 4172 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41847 "preproc.c" break; case 542: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec */ #line 4176 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("exclude"),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41855 "preproc.c" break; case 543: /* ConstraintElem: FOREIGN KEY '(' columnList ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */ #line 4180 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("foreign key ("),(yyvsp[-7].str),mm_strdup(") references"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 41863 "preproc.c" break; case 544: /* opt_no_inherit: NO INHERIT */ #line 4188 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } #line 41871 "preproc.c" break; case 545: /* opt_no_inherit: %empty */ #line 4192 "preproc.y" { (yyval.str)=EMPTY; } #line 41878 "preproc.c" break; case 546: /* opt_column_list: '(' columnList ')' */ #line 4199 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 41886 "preproc.c" break; case 547: /* opt_column_list: %empty */ #line 4203 "preproc.y" { (yyval.str)=EMPTY; } #line 41893 "preproc.c" break; case 548: /* columnList: columnElem */ #line 4210 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41901 "preproc.c" break; case 549: /* columnList: columnList ',' columnElem */ #line 4214 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41909 "preproc.c" break; case 550: /* columnElem: ColId */ #line 4222 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41917 "preproc.c" break; case 551: /* opt_c_include: INCLUDE '(' columnList ')' */ #line 4230 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41925 "preproc.c" break; case 552: /* opt_c_include: %empty */ #line 4234 "preproc.y" { (yyval.str)=EMPTY; } #line 41932 "preproc.c" break; case 553: /* key_match: MATCH FULL */ #line 4241 "preproc.y" { (yyval.str) = mm_strdup("match full"); } #line 41940 "preproc.c" break; case 554: /* key_match: MATCH PARTIAL */ #line 4245 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("match partial"); } #line 41949 "preproc.c" break; case 555: /* key_match: MATCH SIMPLE */ #line 4250 "preproc.y" { (yyval.str) = mm_strdup("match simple"); } #line 41957 "preproc.c" break; case 556: /* key_match: %empty */ #line 4254 "preproc.y" { (yyval.str)=EMPTY; } #line 41964 "preproc.c" break; case 557: /* ExclusionConstraintList: ExclusionConstraintElem */ #line 4261 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 41972 "preproc.c" break; case 558: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem */ #line 4265 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 41980 "preproc.c" break; case 559: /* ExclusionConstraintElem: index_elem WITH any_operator */ #line 4273 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } #line 41988 "preproc.c" break; case 560: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')' */ #line 4277 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-5].str),mm_strdup("with operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 41996 "preproc.c" break; case 561: /* OptWhereClause: WHERE '(' a_expr ')' */ #line 4285 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("where ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42004 "preproc.c" break; case 562: /* OptWhereClause: %empty */ #line 4289 "preproc.y" { (yyval.str)=EMPTY; } #line 42011 "preproc.c" break; case 563: /* key_actions: key_update */ #line 4296 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42019 "preproc.c" break; case 564: /* key_actions: key_delete */ #line 4300 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42027 "preproc.c" break; case 565: /* key_actions: key_update key_delete */ #line 4304 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42035 "preproc.c" break; case 566: /* key_actions: key_delete key_update */ #line 4308 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42043 "preproc.c" break; case 567: /* key_actions: %empty */ #line 4312 "preproc.y" { (yyval.str)=EMPTY; } #line 42050 "preproc.c" break; case 568: /* key_update: ON UPDATE key_action */ #line 4319 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on update"),(yyvsp[0].str)); } #line 42058 "preproc.c" break; case 569: /* key_delete: ON DELETE_P key_action */ #line 4327 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on delete"),(yyvsp[0].str)); } #line 42066 "preproc.c" break; case 570: /* key_action: NO ACTION */ #line 4335 "preproc.y" { (yyval.str) = mm_strdup("no action"); } #line 42074 "preproc.c" break; case 571: /* key_action: RESTRICT */ #line 4339 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 42082 "preproc.c" break; case 572: /* key_action: CASCADE */ #line 4343 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 42090 "preproc.c" break; case 573: /* key_action: SET NULL_P opt_column_list */ #line 4347 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set null"),(yyvsp[0].str)); } #line 42098 "preproc.c" break; case 574: /* key_action: SET DEFAULT opt_column_list */ #line 4351 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } #line 42106 "preproc.c" break; case 575: /* OptInherit: INHERITS '(' qualified_name_list ')' */ #line 4359 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("inherits ("),(yyvsp[-1].str),mm_strdup(")")); } #line 42114 "preproc.c" break; case 576: /* OptInherit: %empty */ #line 4363 "preproc.y" { (yyval.str)=EMPTY; } #line 42121 "preproc.c" break; case 577: /* OptPartitionSpec: PartitionSpec */ #line 4370 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42129 "preproc.c" break; case 578: /* OptPartitionSpec: %empty */ #line 4374 "preproc.y" { (yyval.str)=EMPTY; } #line 42136 "preproc.c" break; case 579: /* PartitionSpec: PARTITION BY ColId '(' part_params ')' */ #line 4381 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("partition by"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 42144 "preproc.c" break; case 580: /* part_params: part_elem */ #line 4389 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42152 "preproc.c" break; case 581: /* part_params: part_params ',' part_elem */ #line 4393 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42160 "preproc.c" break; case 582: /* part_elem: ColId opt_collate opt_qualified_name */ #line 4401 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42168 "preproc.c" break; case 583: /* part_elem: func_expr_windowless opt_collate opt_qualified_name */ #line 4405 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42176 "preproc.c" break; case 584: /* part_elem: '(' a_expr ')' opt_collate opt_qualified_name */ #line 4409 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42184 "preproc.c" break; case 585: /* table_access_method_clause: USING name */ #line 4417 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 42192 "preproc.c" break; case 586: /* table_access_method_clause: %empty */ #line 4421 "preproc.y" { (yyval.str)=EMPTY; } #line 42199 "preproc.c" break; case 587: /* OptWith: WITH reloptions */ #line 4428 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 42207 "preproc.c" break; case 588: /* OptWith: WITHOUT OIDS */ #line 4432 "preproc.y" { (yyval.str) = mm_strdup("without oids"); } #line 42215 "preproc.c" break; case 589: /* OptWith: %empty */ #line 4436 "preproc.y" { (yyval.str)=EMPTY; } #line 42222 "preproc.c" break; case 590: /* OnCommitOption: ON COMMIT DROP */ #line 4443 "preproc.y" { (yyval.str) = mm_strdup("on commit drop"); } #line 42230 "preproc.c" break; case 591: /* OnCommitOption: ON COMMIT DELETE_P ROWS */ #line 4447 "preproc.y" { (yyval.str) = mm_strdup("on commit delete rows"); } #line 42238 "preproc.c" break; case 592: /* OnCommitOption: ON COMMIT PRESERVE ROWS */ #line 4451 "preproc.y" { (yyval.str) = mm_strdup("on commit preserve rows"); } #line 42246 "preproc.c" break; case 593: /* OnCommitOption: %empty */ #line 4455 "preproc.y" { (yyval.str)=EMPTY; } #line 42253 "preproc.c" break; case 594: /* OptTableSpace: TABLESPACE name */ #line 4462 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } #line 42261 "preproc.c" break; case 595: /* OptTableSpace: %empty */ #line 4466 "preproc.y" { (yyval.str)=EMPTY; } #line 42268 "preproc.c" break; case 596: /* OptConsTableSpace: USING INDEX TABLESPACE name */ #line 4473 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index tablespace"),(yyvsp[0].str)); } #line 42276 "preproc.c" break; case 597: /* OptConsTableSpace: %empty */ #line 4477 "preproc.y" { (yyval.str)=EMPTY; } #line 42283 "preproc.c" break; case 598: /* ExistingIndex: USING INDEX name */ #line 4484 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } #line 42291 "preproc.c" break; case 599: /* CreateStatsStmt: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list */ #line 4492 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create statistics"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 42299 "preproc.c" break; case 600: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list */ #line 4496 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create statistics if not exists"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 42307 "preproc.c" break; case 601: /* stats_params: stats_param */ #line 4504 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42315 "preproc.c" break; case 602: /* stats_params: stats_params ',' stats_param */ #line 4508 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42323 "preproc.c" break; case 603: /* stats_param: ColId */ #line 4516 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42331 "preproc.c" break; case 604: /* stats_param: func_expr_windowless */ #line 4520 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42339 "preproc.c" break; case 605: /* stats_param: '(' a_expr ')' */ #line 4524 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 42347 "preproc.c" break; case 606: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS SignedIconst */ #line 4532 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 42355 "preproc.c" break; case 607: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS SignedIconst */ #line 4536 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics if exists"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } #line 42363 "preproc.c" break; case 608: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace */ #line 4544 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42371 "preproc.c" break; case 609: /* opt_with_data: WITH DATA_P */ #line 4552 "preproc.y" { (yyval.str) = mm_strdup("with data"); } #line 42379 "preproc.c" break; case 610: /* opt_with_data: WITH NO DATA_P */ #line 4556 "preproc.y" { (yyval.str) = mm_strdup("with no data"); } #line 42387 "preproc.c" break; case 611: /* opt_with_data: %empty */ #line 4560 "preproc.y" { (yyval.str)=EMPTY; } #line 42394 "preproc.c" break; case 612: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data */ #line 4567 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-6].str),mm_strdup("materialized view"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42402 "preproc.c" break; case 613: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data */ #line 4571 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-9].str),mm_strdup("materialized view if not exists"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42410 "preproc.c" break; case 614: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace */ #line 4579 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42418 "preproc.c" break; case 615: /* OptNoLog: UNLOGGED */ #line 4587 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 42426 "preproc.c" break; case 616: /* OptNoLog: %empty */ #line 4591 "preproc.y" { (yyval.str)=EMPTY; } #line 42433 "preproc.c" break; case 617: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data */ #line 4598 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("refresh materialized view"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42441 "preproc.c" break; case 618: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList */ #line 4606 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42449 "preproc.c" break; case 619: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */ #line 4610 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-6].str),mm_strdup("sequence if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42457 "preproc.c" break; case 620: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */ #line 4618 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42465 "preproc.c" break; case 621: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */ #line 4622 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42473 "preproc.c" break; case 622: /* OptSeqOptList: SeqOptList */ #line 4630 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42481 "preproc.c" break; case 623: /* OptSeqOptList: %empty */ #line 4634 "preproc.y" { (yyval.str)=EMPTY; } #line 42488 "preproc.c" break; case 624: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */ #line 4641 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 42496 "preproc.c" break; case 625: /* OptParenthesizedSeqOptList: %empty */ #line 4645 "preproc.y" { (yyval.str)=EMPTY; } #line 42503 "preproc.c" break; case 626: /* SeqOptList: SeqOptElem */ #line 4652 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42511 "preproc.c" break; case 627: /* SeqOptList: SeqOptList SeqOptElem */ #line 4656 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42519 "preproc.c" break; case 628: /* SeqOptElem: AS SimpleTypename */ #line 4664 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 42527 "preproc.c" break; case 629: /* SeqOptElem: CACHE NumericOnly */ #line 4668 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cache"),(yyvsp[0].str)); } #line 42535 "preproc.c" break; case 630: /* SeqOptElem: CYCLE */ #line 4672 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 42543 "preproc.c" break; case 631: /* SeqOptElem: NO CYCLE */ #line 4676 "preproc.y" { (yyval.str) = mm_strdup("no cycle"); } #line 42551 "preproc.c" break; case 632: /* SeqOptElem: INCREMENT opt_by NumericOnly */ #line 4680 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("increment"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42559 "preproc.c" break; case 633: /* SeqOptElem: MAXVALUE NumericOnly */ #line 4684 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("maxvalue"),(yyvsp[0].str)); } #line 42567 "preproc.c" break; case 634: /* SeqOptElem: MINVALUE NumericOnly */ #line 4688 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minvalue"),(yyvsp[0].str)); } #line 42575 "preproc.c" break; case 635: /* SeqOptElem: NO MAXVALUE */ #line 4692 "preproc.y" { (yyval.str) = mm_strdup("no maxvalue"); } #line 42583 "preproc.c" break; case 636: /* SeqOptElem: NO MINVALUE */ #line 4696 "preproc.y" { (yyval.str) = mm_strdup("no minvalue"); } #line 42591 "preproc.c" break; case 637: /* SeqOptElem: OWNED BY any_name */ #line 4700 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owned by"),(yyvsp[0].str)); } #line 42599 "preproc.c" break; case 638: /* SeqOptElem: SEQUENCE NAME_P any_name */ #line 4704 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence name"),(yyvsp[0].str)); } #line 42607 "preproc.c" break; case 639: /* SeqOptElem: START opt_with NumericOnly */ #line 4708 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("start"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42615 "preproc.c" break; case 640: /* SeqOptElem: RESTART */ #line 4712 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 42623 "preproc.c" break; case 641: /* SeqOptElem: RESTART opt_with NumericOnly */ #line 4716 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42631 "preproc.c" break; case 642: /* opt_by: BY */ #line 4724 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 42639 "preproc.c" break; case 643: /* opt_by: %empty */ #line 4728 "preproc.y" { (yyval.str)=EMPTY; } #line 42646 "preproc.c" break; case 644: /* NumericOnly: ecpg_fconst */ #line 4735 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42654 "preproc.c" break; case 645: /* NumericOnly: '+' ecpg_fconst */ #line 4739 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 42662 "preproc.c" break; case 646: /* NumericOnly: '-' ecpg_fconst */ #line 4743 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 42670 "preproc.c" break; case 647: /* NumericOnly: SignedIconst */ #line 4747 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42678 "preproc.c" break; case 648: /* NumericOnly_list: NumericOnly */ #line 4755 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42686 "preproc.c" break; case 649: /* NumericOnly_list: NumericOnly_list ',' NumericOnly */ #line 4759 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 42694 "preproc.c" break; case 650: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name */ #line 4767 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("language"),(yyvsp[0].str)); } #line 42702 "preproc.c" break; case 651: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator */ #line 4771 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("language"),(yyvsp[-4].str),mm_strdup("handler"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42710 "preproc.c" break; case 652: /* opt_trusted: TRUSTED */ #line 4779 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 42718 "preproc.c" break; case 653: /* opt_trusted: %empty */ #line 4783 "preproc.y" { (yyval.str)=EMPTY; } #line 42725 "preproc.c" break; case 654: /* handler_name: name */ #line 4790 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42733 "preproc.c" break; case 655: /* handler_name: name attrs */ #line 4794 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42741 "preproc.c" break; case 656: /* opt_inline_handler: INLINE_P handler_name */ #line 4802 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inline"),(yyvsp[0].str)); } #line 42749 "preproc.c" break; case 657: /* opt_inline_handler: %empty */ #line 4806 "preproc.y" { (yyval.str)=EMPTY; } #line 42756 "preproc.c" break; case 658: /* validator_clause: VALIDATOR handler_name */ #line 4813 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } #line 42764 "preproc.c" break; case 659: /* validator_clause: NO VALIDATOR */ #line 4817 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } #line 42772 "preproc.c" break; case 660: /* opt_validator: validator_clause */ #line 4825 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 42780 "preproc.c" break; case 661: /* opt_validator: %empty */ #line 4829 "preproc.y" { (yyval.str)=EMPTY; } #line 42787 "preproc.c" break; case 662: /* opt_procedural: PROCEDURAL */ #line 4836 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 42795 "preproc.c" break; case 663: /* opt_procedural: %empty */ #line 4840 "preproc.y" { (yyval.str)=EMPTY; } #line 42802 "preproc.c" break; case 664: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION ecpg_sconst opt_reloptions */ #line 4847 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create tablespace"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("location"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42810 "preproc.c" break; case 665: /* OptTableSpaceOwner: OWNER RoleSpec */ #line 4855 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner"),(yyvsp[0].str)); } #line 42818 "preproc.c" break; case 666: /* OptTableSpaceOwner: %empty */ #line 4859 "preproc.y" { (yyval.str)=EMPTY; } #line 42825 "preproc.c" break; case 667: /* DropTableSpaceStmt: DROP TABLESPACE name */ #line 4866 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace"),(yyvsp[0].str)); } #line 42833 "preproc.c" break; case 668: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name */ #line 4870 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace if exists"),(yyvsp[0].str)); } #line 42841 "preproc.c" break; case 669: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list */ #line 4878 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42849 "preproc.c" break; case 670: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list */ #line 4882 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension if not exists"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42857 "preproc.c" break; case 671: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item */ #line 4890 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42865 "preproc.c" break; case 672: /* create_extension_opt_list: %empty */ #line 4894 "preproc.y" { (yyval.str)=EMPTY; } #line 42872 "preproc.c" break; case 673: /* create_extension_opt_item: SCHEMA name */ #line 4901 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 42880 "preproc.c" break; case 674: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst */ #line 4905 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 42888 "preproc.c" break; case 675: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst */ #line 4909 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 42897 "preproc.c" break; case 676: /* create_extension_opt_item: CASCADE */ #line 4914 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 42905 "preproc.c" break; case 677: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list */ #line 4922 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-2].str),mm_strdup("update"),(yyvsp[0].str)); } #line 42913 "preproc.c" break; case 678: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item */ #line 4930 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 42921 "preproc.c" break; case 679: /* alter_extension_opt_list: %empty */ #line 4934 "preproc.y" { (yyval.str)=EMPTY; } #line 42928 "preproc.c" break; case 680: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst */ #line 4941 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 42936 "preproc.c" break; case 681: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name */ #line 4949 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42944 "preproc.c" break; case 682: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name */ #line 4953 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 42952 "preproc.c" break; case 683: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes */ #line 4957 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("aggregate"),(yyvsp[0].str)); } #line 42960 "preproc.c" break; case 684: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')' */ #line 4961 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter extension"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("cast ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 42968 "preproc.c" break; case 685: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename */ #line 4965 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("domain"),(yyvsp[0].str)); } #line 42976 "preproc.c" break; case 686: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes */ #line 4969 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("function"),(yyvsp[0].str)); } #line 42984 "preproc.c" break; case 687: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes */ #line 4973 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("operator"),(yyvsp[0].str)); } #line 42992 "preproc.c" break; case 688: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name */ #line 4977 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("operator class"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 43000 "preproc.c" break; case 689: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name */ #line 4981 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("operator family"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 43008 "preproc.c" break; case 690: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes */ #line 4985 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("procedure"),(yyvsp[0].str)); } #line 43016 "preproc.c" break; case 691: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes */ #line 4989 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("routine"),(yyvsp[0].str)); } #line 43024 "preproc.c" break; case 692: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name */ #line 4993 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("transform for"),(yyvsp[-2].str),mm_strdup("language"),(yyvsp[0].str)); } #line 43032 "preproc.c" break; case 693: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename */ #line 4997 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("type"),(yyvsp[0].str)); } #line 43040 "preproc.c" break; case 694: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options */ #line 5005 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43048 "preproc.c" break; case 695: /* fdw_option: HANDLER handler_name */ #line 5013 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("handler"),(yyvsp[0].str)); } #line 43056 "preproc.c" break; case 696: /* fdw_option: NO HANDLER */ #line 5017 "preproc.y" { (yyval.str) = mm_strdup("no handler"); } #line 43064 "preproc.c" break; case 697: /* fdw_option: VALIDATOR handler_name */ #line 5021 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } #line 43072 "preproc.c" break; case 698: /* fdw_option: NO VALIDATOR */ #line 5025 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } #line 43080 "preproc.c" break; case 699: /* fdw_options: fdw_option */ #line 5033 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43088 "preproc.c" break; case 700: /* fdw_options: fdw_options fdw_option */ #line 5037 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43096 "preproc.c" break; case 701: /* opt_fdw_options: fdw_options */ #line 5045 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43104 "preproc.c" break; case 702: /* opt_fdw_options: %empty */ #line 5049 "preproc.y" { (yyval.str)=EMPTY; } #line 43111 "preproc.c" break; case 703: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options */ #line 5056 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43119 "preproc.c" break; case 704: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options */ #line 5060 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43127 "preproc.c" break; case 705: /* create_generic_options: OPTIONS '(' generic_option_list ')' */ #line 5068 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43135 "preproc.c" break; case 706: /* create_generic_options: %empty */ #line 5072 "preproc.y" { (yyval.str)=EMPTY; } #line 43142 "preproc.c" break; case 707: /* generic_option_list: generic_option_elem */ #line 5079 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43150 "preproc.c" break; case 708: /* generic_option_list: generic_option_list ',' generic_option_elem */ #line 5083 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43158 "preproc.c" break; case 709: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */ #line 5091 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43166 "preproc.c" break; case 710: /* alter_generic_option_list: alter_generic_option_elem */ #line 5099 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43174 "preproc.c" break; case 711: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */ #line 5103 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43182 "preproc.c" break; case 712: /* alter_generic_option_elem: generic_option_elem */ #line 5111 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43190 "preproc.c" break; case 713: /* alter_generic_option_elem: SET generic_option_elem */ #line 5115 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } #line 43198 "preproc.c" break; case 714: /* alter_generic_option_elem: ADD_P generic_option_elem */ #line 5119 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } #line 43206 "preproc.c" break; case 715: /* alter_generic_option_elem: DROP generic_option_name */ #line 5123 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop"),(yyvsp[0].str)); } #line 43214 "preproc.c" break; case 716: /* generic_option_elem: generic_option_name generic_option_arg */ #line 5131 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43222 "preproc.c" break; case 717: /* generic_option_name: ColLabel */ #line 5139 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43230 "preproc.c" break; case 718: /* generic_option_arg: ecpg_sconst */ #line 5147 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43238 "preproc.c" break; case 719: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ #line 5155 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create server"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43246 "preproc.c" break; case 720: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ #line 5159 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create server if not exists"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43254 "preproc.c" break; case 721: /* opt_type: TYPE_P ecpg_sconst */ #line 5167 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } #line 43262 "preproc.c" break; case 722: /* opt_type: %empty */ #line 5171 "preproc.y" { (yyval.str)=EMPTY; } #line 43269 "preproc.c" break; case 723: /* foreign_server_version: VERSION_P ecpg_sconst */ #line 5178 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 43277 "preproc.c" break; case 724: /* foreign_server_version: VERSION_P NULL_P */ #line 5182 "preproc.y" { (yyval.str) = mm_strdup("version null"); } #line 43285 "preproc.c" break; case 725: /* opt_foreign_server_version: foreign_server_version */ #line 5190 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43293 "preproc.c" break; case 726: /* opt_foreign_server_version: %empty */ #line 5194 "preproc.y" { (yyval.str)=EMPTY; } #line 43300 "preproc.c" break; case 727: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options */ #line 5201 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43308 "preproc.c" break; case 728: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version */ #line 5205 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43316 "preproc.c" break; case 729: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options */ #line 5209 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43324 "preproc.c" break; case 730: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ #line 5217 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43332 "preproc.c" break; case 731: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ #line 5221 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table if not exists"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43340 "preproc.c" break; case 732: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ #line 5225 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table"),(yyvsp[-8].str),mm_strdup("partition of"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43348 "preproc.c" break; case 733: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ #line 5229 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table if not exists"),(yyvsp[-8].str),mm_strdup("partition of"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43356 "preproc.c" break; case 734: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options */ #line 5237 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("import foreign schema"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("from server"),(yyvsp[-3].str),mm_strdup("into"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43364 "preproc.c" break; case 735: /* import_qualification_type: LIMIT TO */ #line 5245 "preproc.y" { (yyval.str) = mm_strdup("limit to"); } #line 43372 "preproc.c" break; case 736: /* import_qualification_type: EXCEPT */ #line 5249 "preproc.y" { (yyval.str) = mm_strdup("except"); } #line 43380 "preproc.c" break; case 737: /* import_qualification: import_qualification_type '(' relation_expr_list ')' */ #line 5257 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 43388 "preproc.c" break; case 738: /* import_qualification: %empty */ #line 5261 "preproc.y" { (yyval.str)=EMPTY; } #line 43395 "preproc.c" break; case 739: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options */ #line 5268 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create user mapping for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43403 "preproc.c" break; case 740: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options */ #line 5272 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create user mapping if not exists for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43411 "preproc.c" break; case 741: /* auth_ident: RoleSpec */ #line 5280 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43419 "preproc.c" break; case 742: /* auth_ident: USER */ #line 5284 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 43427 "preproc.c" break; case 743: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name */ #line 5292 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop user mapping for"),(yyvsp[-2].str),mm_strdup("server"),(yyvsp[0].str)); } #line 43435 "preproc.c" break; case 744: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name */ #line 5296 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop user mapping if exists for"),(yyvsp[-2].str),mm_strdup("server"),(yyvsp[0].str)); } #line 43443 "preproc.c" break; case 745: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options */ #line 5304 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter user mapping for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43451 "preproc.c" break; case 746: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ #line 5312 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create policy"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43459 "preproc.c" break; case 747: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ #line 5320 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter policy"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43467 "preproc.c" break; case 748: /* RowSecurityOptionalExpr: USING '(' a_expr ')' */ #line 5328 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("using ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43475 "preproc.c" break; case 749: /* RowSecurityOptionalExpr: %empty */ #line 5332 "preproc.y" { (yyval.str)=EMPTY; } #line 43482 "preproc.c" break; case 750: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')' */ #line 5339 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("with check ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43490 "preproc.c" break; case 751: /* RowSecurityOptionalWithCheck: %empty */ #line 5343 "preproc.y" { (yyval.str)=EMPTY; } #line 43497 "preproc.c" break; case 752: /* RowSecurityDefaultToRole: TO role_list */ #line 5350 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 43505 "preproc.c" break; case 753: /* RowSecurityDefaultToRole: %empty */ #line 5354 "preproc.y" { (yyval.str)=EMPTY; } #line 43512 "preproc.c" break; case 754: /* RowSecurityOptionalToRole: TO role_list */ #line 5361 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } #line 43520 "preproc.c" break; case 755: /* RowSecurityOptionalToRole: %empty */ #line 5365 "preproc.y" { (yyval.str)=EMPTY; } #line 43527 "preproc.c" break; case 756: /* RowSecurityDefaultPermissive: AS ecpg_ident */ #line 5372 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 43535 "preproc.c" break; case 757: /* RowSecurityDefaultPermissive: %empty */ #line 5376 "preproc.y" { (yyval.str)=EMPTY; } #line 43542 "preproc.c" break; case 758: /* RowSecurityDefaultForCmd: FOR row_security_cmd */ #line 5383 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } #line 43550 "preproc.c" break; case 759: /* RowSecurityDefaultForCmd: %empty */ #line 5387 "preproc.y" { (yyval.str)=EMPTY; } #line 43557 "preproc.c" break; case 760: /* row_security_cmd: ALL */ #line 5394 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 43565 "preproc.c" break; case 761: /* row_security_cmd: SELECT */ #line 5398 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 43573 "preproc.c" break; case 762: /* row_security_cmd: INSERT */ #line 5402 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 43581 "preproc.c" break; case 763: /* row_security_cmd: UPDATE */ #line 5406 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 43589 "preproc.c" break; case 764: /* row_security_cmd: DELETE_P */ #line 5410 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 43597 "preproc.c" break; case 765: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name */ #line 5418 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create access method"),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),mm_strdup("handler"),(yyvsp[0].str)); } #line 43605 "preproc.c" break; case 766: /* am_type: INDEX */ #line 5426 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 43613 "preproc.c" break; case 767: /* am_type: TABLE */ #line 5430 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 43621 "preproc.c" break; case 768: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */ #line 5438 "preproc.y" { (yyval.str) = cat_str(17,mm_strdup("create"),(yyvsp[-15].str),mm_strdup("trigger"),(yyvsp[-13].str),(yyvsp[-12].str),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("execute"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 43629 "preproc.c" break; case 769: /* CreateTrigStmt: CREATE opt_or_replace CONSTRAINT TRIGGER name AFTER TriggerEvents ON qualified_name OptConstrFromTable ConstraintAttributeSpec FOR EACH ROW TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */ #line 5442 "preproc.y" { (yyval.str) = cat_str(18,mm_strdup("create"),(yyvsp[-19].str),mm_strdup("constraint trigger"),(yyvsp[-16].str),mm_strdup("after"),(yyvsp[-14].str),mm_strdup("on"),(yyvsp[-12].str),(yyvsp[-11].str),(yyvsp[-10].str),mm_strdup("for each row"),(yyvsp[-6].str),mm_strdup("execute"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 43637 "preproc.c" break; case 770: /* TriggerActionTime: BEFORE */ #line 5450 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 43645 "preproc.c" break; case 771: /* TriggerActionTime: AFTER */ #line 5454 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 43653 "preproc.c" break; case 772: /* TriggerActionTime: INSTEAD OF */ #line 5458 "preproc.y" { (yyval.str) = mm_strdup("instead of"); } #line 43661 "preproc.c" break; case 773: /* TriggerEvents: TriggerOneEvent */ #line 5466 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43669 "preproc.c" break; case 774: /* TriggerEvents: TriggerEvents OR TriggerOneEvent */ #line 5470 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } #line 43677 "preproc.c" break; case 775: /* TriggerOneEvent: INSERT */ #line 5478 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 43685 "preproc.c" break; case 776: /* TriggerOneEvent: DELETE_P */ #line 5482 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 43693 "preproc.c" break; case 777: /* TriggerOneEvent: UPDATE */ #line 5486 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 43701 "preproc.c" break; case 778: /* TriggerOneEvent: UPDATE OF columnList */ #line 5490 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update of"),(yyvsp[0].str)); } #line 43709 "preproc.c" break; case 779: /* TriggerOneEvent: TRUNCATE */ #line 5494 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 43717 "preproc.c" break; case 780: /* TriggerReferencing: REFERENCING TriggerTransitions */ #line 5502 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("referencing"),(yyvsp[0].str)); } #line 43725 "preproc.c" break; case 781: /* TriggerReferencing: %empty */ #line 5506 "preproc.y" { (yyval.str)=EMPTY; } #line 43732 "preproc.c" break; case 782: /* TriggerTransitions: TriggerTransition */ #line 5513 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43740 "preproc.c" break; case 783: /* TriggerTransitions: TriggerTransitions TriggerTransition */ #line 5517 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43748 "preproc.c" break; case 784: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName */ #line 5525 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43756 "preproc.c" break; case 785: /* TransitionOldOrNew: NEW */ #line 5533 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 43764 "preproc.c" break; case 786: /* TransitionOldOrNew: OLD */ #line 5537 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 43772 "preproc.c" break; case 787: /* TransitionRowOrTable: TABLE */ #line 5545 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 43780 "preproc.c" break; case 788: /* TransitionRowOrTable: ROW */ #line 5549 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 43788 "preproc.c" break; case 789: /* TransitionRelName: ColId */ #line 5557 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43796 "preproc.c" break; case 790: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType */ #line 5565 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 43804 "preproc.c" break; case 791: /* TriggerForSpec: %empty */ #line 5569 "preproc.y" { (yyval.str)=EMPTY; } #line 43811 "preproc.c" break; case 792: /* TriggerForOptEach: EACH */ #line 5576 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 43819 "preproc.c" break; case 793: /* TriggerForOptEach: %empty */ #line 5580 "preproc.y" { (yyval.str)=EMPTY; } #line 43826 "preproc.c" break; case 794: /* TriggerForType: ROW */ #line 5587 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 43834 "preproc.c" break; case 795: /* TriggerForType: STATEMENT */ #line 5591 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 43842 "preproc.c" break; case 796: /* TriggerWhen: WHEN '(' a_expr ')' */ #line 5599 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when ("),(yyvsp[-1].str),mm_strdup(")")); } #line 43850 "preproc.c" break; case 797: /* TriggerWhen: %empty */ #line 5603 "preproc.y" { (yyval.str)=EMPTY; } #line 43857 "preproc.c" break; case 798: /* FUNCTION_or_PROCEDURE: FUNCTION */ #line 5610 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 43865 "preproc.c" break; case 799: /* FUNCTION_or_PROCEDURE: PROCEDURE */ #line 5614 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 43873 "preproc.c" break; case 800: /* TriggerFuncArgs: TriggerFuncArg */ #line 5622 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43881 "preproc.c" break; case 801: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg */ #line 5626 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 43889 "preproc.c" break; case 802: /* TriggerFuncArgs: %empty */ #line 5630 "preproc.y" { (yyval.str)=EMPTY; } #line 43896 "preproc.c" break; case 803: /* TriggerFuncArg: Iconst */ #line 5637 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43904 "preproc.c" break; case 804: /* TriggerFuncArg: ecpg_fconst */ #line 5641 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43912 "preproc.c" break; case 805: /* TriggerFuncArg: ecpg_sconst */ #line 5645 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43920 "preproc.c" break; case 806: /* TriggerFuncArg: ColLabel */ #line 5649 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 43928 "preproc.c" break; case 807: /* OptConstrFromTable: FROM qualified_name */ #line 5657 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 43936 "preproc.c" break; case 808: /* OptConstrFromTable: %empty */ #line 5661 "preproc.y" { (yyval.str)=EMPTY; } #line 43943 "preproc.c" break; case 809: /* ConstraintAttributeSpec: %empty */ #line 5668 "preproc.y" { (yyval.str)=EMPTY; } #line 43950 "preproc.c" break; case 810: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */ #line 5671 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 43958 "preproc.c" break; case 811: /* ConstraintAttributeElem: NOT DEFERRABLE */ #line 5679 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 43966 "preproc.c" break; case 812: /* ConstraintAttributeElem: DEFERRABLE */ #line 5683 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 43974 "preproc.c" break; case 813: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */ #line 5687 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } #line 43982 "preproc.c" break; case 814: /* ConstraintAttributeElem: INITIALLY DEFERRED */ #line 5691 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } #line 43990 "preproc.c" break; case 815: /* ConstraintAttributeElem: NOT VALID */ #line 5695 "preproc.y" { (yyval.str) = mm_strdup("not valid"); } #line 43998 "preproc.c" break; case 816: /* ConstraintAttributeElem: NO INHERIT */ #line 5699 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } #line 44006 "preproc.c" break; case 817: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ #line 5707 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("create event trigger"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),mm_strdup("execute"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("( )")); } #line 44014 "preproc.c" break; case 818: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ #line 5711 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create event trigger"),(yyvsp[-9].str),mm_strdup("on"),(yyvsp[-7].str),mm_strdup("when"),(yyvsp[-5].str),mm_strdup("execute"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("( )")); } #line 44022 "preproc.c" break; case 819: /* event_trigger_when_list: event_trigger_when_item */ #line 5719 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44030 "preproc.c" break; case 820: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item */ #line 5723 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 44038 "preproc.c" break; case 821: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')' */ #line 5731 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("in ("),(yyvsp[-1].str),mm_strdup(")")); } #line 44046 "preproc.c" break; case 822: /* event_trigger_value_list: SCONST */ #line 5739 "preproc.y" { (yyval.str) = mm_strdup("sconst"); } #line 44054 "preproc.c" break; case 823: /* event_trigger_value_list: event_trigger_value_list ',' SCONST */ #line 5743 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup(", sconst")); } #line 44062 "preproc.c" break; case 824: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger */ #line 5751 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter event trigger"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44070 "preproc.c" break; case 825: /* enable_trigger: ENABLE_P */ #line 5759 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 44078 "preproc.c" break; case 826: /* enable_trigger: ENABLE_P REPLICA */ #line 5763 "preproc.y" { (yyval.str) = mm_strdup("enable replica"); } #line 44086 "preproc.c" break; case 827: /* enable_trigger: ENABLE_P ALWAYS */ #line 5767 "preproc.y" { (yyval.str) = mm_strdup("enable always"); } #line 44094 "preproc.c" break; case 828: /* enable_trigger: DISABLE_P */ #line 5771 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 44102 "preproc.c" break; case 829: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec */ #line 5779 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(6,mm_strdup("create assertion"),(yyvsp[-5].str),mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 44111 "preproc.c" break; case 830: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition */ #line 5788 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create"),(yyvsp[-4].str),mm_strdup("aggregate"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44119 "preproc.c" break; case 831: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition */ #line 5792 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44127 "preproc.c" break; case 832: /* DefineStmt: CREATE OPERATOR any_operator definition */ #line 5796 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create operator"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44135 "preproc.c" break; case 833: /* DefineStmt: CREATE TYPE_P any_name definition */ #line 5800 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44143 "preproc.c" break; case 834: /* DefineStmt: CREATE TYPE_P any_name */ #line 5804 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create type"),(yyvsp[0].str)); } #line 44151 "preproc.c" break; case 835: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')' */ #line 5808 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-4].str),mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 44159 "preproc.c" break; case 836: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')' */ #line 5812 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-5].str),mm_strdup("as enum ("),(yyvsp[-1].str),mm_strdup(")")); } #line 44167 "preproc.c" break; case 837: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition */ #line 5816 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create type"),(yyvsp[-3].str),mm_strdup("as range"),(yyvsp[0].str)); } #line 44175 "preproc.c" break; case 838: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition */ #line 5820 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search parser"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44183 "preproc.c" break; case 839: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition */ #line 5824 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44191 "preproc.c" break; case 840: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition */ #line 5828 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search template"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44199 "preproc.c" break; case 841: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition */ #line 5832 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search configuration"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44207 "preproc.c" break; case 842: /* DefineStmt: CREATE COLLATION any_name definition */ #line 5836 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44215 "preproc.c" break; case 843: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition */ #line 5840 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44223 "preproc.c" break; case 844: /* DefineStmt: CREATE COLLATION any_name FROM any_name */ #line 5844 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 44231 "preproc.c" break; case 845: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name */ #line 5848 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation if not exists"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 44239 "preproc.c" break; case 846: /* definition: '(' def_list ')' */ #line 5856 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44247 "preproc.c" break; case 847: /* def_list: def_elem */ #line 5864 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44255 "preproc.c" break; case 848: /* def_list: def_list ',' def_elem */ #line 5868 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44263 "preproc.c" break; case 849: /* def_elem: ColLabel '=' def_arg */ #line 5876 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 44271 "preproc.c" break; case 850: /* def_elem: ColLabel */ #line 5880 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44279 "preproc.c" break; case 851: /* def_arg: func_type */ #line 5888 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44287 "preproc.c" break; case 852: /* def_arg: reserved_keyword */ #line 5892 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44295 "preproc.c" break; case 853: /* def_arg: qual_all_Op */ #line 5896 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44303 "preproc.c" break; case 854: /* def_arg: NumericOnly */ #line 5900 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44311 "preproc.c" break; case 855: /* def_arg: ecpg_sconst */ #line 5904 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44319 "preproc.c" break; case 856: /* def_arg: NONE */ #line 5908 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 44327 "preproc.c" break; case 857: /* old_aggr_definition: '(' old_aggr_list ')' */ #line 5916 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44335 "preproc.c" break; case 858: /* old_aggr_list: old_aggr_elem */ #line 5924 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44343 "preproc.c" break; case 859: /* old_aggr_list: old_aggr_list ',' old_aggr_elem */ #line 5928 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44351 "preproc.c" break; case 860: /* old_aggr_elem: ecpg_ident '=' def_arg */ #line 5936 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 44359 "preproc.c" break; case 861: /* opt_enum_val_list: enum_val_list */ #line 5944 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44367 "preproc.c" break; case 862: /* opt_enum_val_list: %empty */ #line 5948 "preproc.y" { (yyval.str)=EMPTY; } #line 44374 "preproc.c" break; case 863: /* enum_val_list: ecpg_sconst */ #line 5955 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44382 "preproc.c" break; case 864: /* enum_val_list: enum_val_list ',' ecpg_sconst */ #line 5959 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44390 "preproc.c" break; case 865: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst */ #line 5967 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter type"),(yyvsp[-4].str),mm_strdup("add value"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44398 "preproc.c" break; case 866: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst BEFORE ecpg_sconst */ #line 5971 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("add value"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("before"),(yyvsp[0].str)); } #line 44406 "preproc.c" break; case 867: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst AFTER ecpg_sconst */ #line 5975 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("add value"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("after"),(yyvsp[0].str)); } #line 44414 "preproc.c" break; case 868: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P ecpg_sconst TO ecpg_sconst */ #line 5979 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter type"),(yyvsp[-5].str),mm_strdup("rename value"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 44422 "preproc.c" break; case 869: /* opt_if_not_exists: IF_P NOT EXISTS */ #line 5987 "preproc.y" { (yyval.str) = mm_strdup("if not exists"); } #line 44430 "preproc.c" break; case 870: /* opt_if_not_exists: %empty */ #line 5991 "preproc.y" { (yyval.str)=EMPTY; } #line 44437 "preproc.c" break; case 871: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list */ #line 5998 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create operator class"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("for type"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 44445 "preproc.c" break; case 872: /* opclass_item_list: opclass_item */ #line 6006 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44453 "preproc.c" break; case 873: /* opclass_item_list: opclass_item_list ',' opclass_item */ #line 6010 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44461 "preproc.c" break; case 874: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose opt_recheck */ #line 6018 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44469 "preproc.c" break; case 875: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose opt_recheck */ #line 6022 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44477 "preproc.c" break; case 876: /* opclass_item: FUNCTION Iconst function_with_argtypes */ #line 6026 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("function"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44485 "preproc.c" break; case 877: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes */ #line 6030 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("function"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 44493 "preproc.c" break; case 878: /* opclass_item: STORAGE Typename */ #line 6034 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("storage"),(yyvsp[0].str)); } #line 44501 "preproc.c" break; case 879: /* opt_default: DEFAULT */ #line 6042 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 44509 "preproc.c" break; case 880: /* opt_default: %empty */ #line 6046 "preproc.y" { (yyval.str)=EMPTY; } #line 44516 "preproc.c" break; case 881: /* opt_opfamily: FAMILY any_name */ #line 6053 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("family"),(yyvsp[0].str)); } #line 44524 "preproc.c" break; case 882: /* opt_opfamily: %empty */ #line 6057 "preproc.y" { (yyval.str)=EMPTY; } #line 44531 "preproc.c" break; case 883: /* opclass_purpose: FOR SEARCH */ #line 6064 "preproc.y" { (yyval.str) = mm_strdup("for search"); } #line 44539 "preproc.c" break; case 884: /* opclass_purpose: FOR ORDER BY any_name */ #line 6068 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for order by"),(yyvsp[0].str)); } #line 44547 "preproc.c" break; case 885: /* opclass_purpose: %empty */ #line 6072 "preproc.y" { (yyval.str)=EMPTY; } #line 44554 "preproc.c" break; case 886: /* opt_recheck: RECHECK */ #line 6079 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("recheck"); } #line 44563 "preproc.c" break; case 887: /* opt_recheck: %empty */ #line 6084 "preproc.y" { (yyval.str)=EMPTY; } #line 44570 "preproc.c" break; case 888: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name */ #line 6091 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create operator family"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 44578 "preproc.c" break; case 889: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list */ #line 6099 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } #line 44586 "preproc.c" break; case 890: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list */ #line 6103 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("drop"),(yyvsp[0].str)); } #line 44594 "preproc.c" break; case 891: /* opclass_drop_list: opclass_drop */ #line 6111 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44602 "preproc.c" break; case 892: /* opclass_drop_list: opclass_drop_list ',' opclass_drop */ #line 6115 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 44610 "preproc.c" break; case 893: /* opclass_drop: OPERATOR Iconst '(' type_list ')' */ #line 6123 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44618 "preproc.c" break; case 894: /* opclass_drop: FUNCTION Iconst '(' type_list ')' */ #line 6127 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("function"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 44626 "preproc.c" break; case 895: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior */ #line 6135 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator class"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44634 "preproc.c" break; case 896: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior */ #line 6139 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator class if exists"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44642 "preproc.c" break; case 897: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior */ #line 6147 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator family"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44650 "preproc.c" break; case 898: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior */ #line 6151 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator family if exists"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44658 "preproc.c" break; case 899: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior */ #line 6159 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop owned by"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44666 "preproc.c" break; case 900: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec */ #line 6167 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reassign owned by"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 44674 "preproc.c" break; case 901: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */ #line 6175 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44682 "preproc.c" break; case 902: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior */ #line 6179 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44690 "preproc.c" break; case 903: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */ #line 6183 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44698 "preproc.c" break; case 904: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */ #line 6187 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44706 "preproc.c" break; case 905: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior */ #line 6191 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44714 "preproc.c" break; case 906: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */ #line 6195 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("drop"),(yyvsp[-6].str),mm_strdup("if exists"),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44722 "preproc.c" break; case 907: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior */ #line 6199 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44730 "preproc.c" break; case 908: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior */ #line 6203 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44738 "preproc.c" break; case 909: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior */ #line 6207 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44746 "preproc.c" break; case 910: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior */ #line 6211 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44754 "preproc.c" break; case 911: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior */ #line 6215 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44762 "preproc.c" break; case 912: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior */ #line 6219 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 44770 "preproc.c" break; case 913: /* object_type_any_name: TABLE */ #line 6227 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 44778 "preproc.c" break; case 914: /* object_type_any_name: SEQUENCE */ #line 6231 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 44786 "preproc.c" break; case 915: /* object_type_any_name: VIEW */ #line 6235 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 44794 "preproc.c" break; case 916: /* object_type_any_name: MATERIALIZED VIEW */ #line 6239 "preproc.y" { (yyval.str) = mm_strdup("materialized view"); } #line 44802 "preproc.c" break; case 917: /* object_type_any_name: INDEX */ #line 6243 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 44810 "preproc.c" break; case 918: /* object_type_any_name: FOREIGN TABLE */ #line 6247 "preproc.y" { (yyval.str) = mm_strdup("foreign table"); } #line 44818 "preproc.c" break; case 919: /* object_type_any_name: COLLATION */ #line 6251 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 44826 "preproc.c" break; case 920: /* object_type_any_name: CONVERSION_P */ #line 6255 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 44834 "preproc.c" break; case 921: /* object_type_any_name: STATISTICS */ #line 6259 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 44842 "preproc.c" break; case 922: /* object_type_any_name: TEXT_P SEARCH PARSER */ #line 6263 "preproc.y" { (yyval.str) = mm_strdup("text search parser"); } #line 44850 "preproc.c" break; case 923: /* object_type_any_name: TEXT_P SEARCH DICTIONARY */ #line 6267 "preproc.y" { (yyval.str) = mm_strdup("text search dictionary"); } #line 44858 "preproc.c" break; case 924: /* object_type_any_name: TEXT_P SEARCH TEMPLATE */ #line 6271 "preproc.y" { (yyval.str) = mm_strdup("text search template"); } #line 44866 "preproc.c" break; case 925: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION */ #line 6275 "preproc.y" { (yyval.str) = mm_strdup("text search configuration"); } #line 44874 "preproc.c" break; case 926: /* object_type_name: drop_type_name */ #line 6283 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 44882 "preproc.c" break; case 927: /* object_type_name: DATABASE */ #line 6287 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 44890 "preproc.c" break; case 928: /* object_type_name: ROLE */ #line 6291 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 44898 "preproc.c" break; case 929: /* object_type_name: SUBSCRIPTION */ #line 6295 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 44906 "preproc.c" break; case 930: /* object_type_name: TABLESPACE */ #line 6299 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 44914 "preproc.c" break; case 931: /* drop_type_name: ACCESS METHOD */ #line 6307 "preproc.y" { (yyval.str) = mm_strdup("access method"); } #line 44922 "preproc.c" break; case 932: /* drop_type_name: EVENT TRIGGER */ #line 6311 "preproc.y" { (yyval.str) = mm_strdup("event trigger"); } #line 44930 "preproc.c" break; case 933: /* drop_type_name: EXTENSION */ #line 6315 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 44938 "preproc.c" break; case 934: /* drop_type_name: FOREIGN DATA_P WRAPPER */ #line 6319 "preproc.y" { (yyval.str) = mm_strdup("foreign data wrapper"); } #line 44946 "preproc.c" break; case 935: /* drop_type_name: opt_procedural LANGUAGE */ #line 6323 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("language")); } #line 44954 "preproc.c" break; case 936: /* drop_type_name: PUBLICATION */ #line 6327 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 44962 "preproc.c" break; case 937: /* drop_type_name: SCHEMA */ #line 6331 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 44970 "preproc.c" break; case 938: /* drop_type_name: SERVER */ #line 6335 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 44978 "preproc.c" break; case 939: /* object_type_name_on_any_name: POLICY */ #line 6343 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 44986 "preproc.c" break; case 940: /* object_type_name_on_any_name: RULE */ #line 6347 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 44994 "preproc.c" break; case 941: /* object_type_name_on_any_name: TRIGGER */ #line 6351 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 45002 "preproc.c" break; case 942: /* any_name_list: any_name */ #line 6359 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45010 "preproc.c" break; case 943: /* any_name_list: any_name_list ',' any_name */ #line 6363 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45018 "preproc.c" break; case 944: /* any_name: ColId */ #line 6371 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45026 "preproc.c" break; case 945: /* any_name: ColId attrs */ #line 6375 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45034 "preproc.c" break; case 946: /* attrs: '.' attr_name */ #line 6383 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } #line 45042 "preproc.c" break; case 947: /* attrs: attrs '.' attr_name */ #line 6387 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 45050 "preproc.c" break; case 948: /* type_name_list: Typename */ #line 6395 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45058 "preproc.c" break; case 949: /* type_name_list: type_name_list ',' Typename */ #line 6399 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45066 "preproc.c" break; case 950: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior */ #line 6407 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("truncate"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45074 "preproc.c" break; case 951: /* opt_restart_seqs: CONTINUE_P IDENTITY_P */ #line 6415 "preproc.y" { (yyval.str) = mm_strdup("continue identity"); } #line 45082 "preproc.c" break; case 952: /* opt_restart_seqs: RESTART IDENTITY_P */ #line 6419 "preproc.y" { (yyval.str) = mm_strdup("restart identity"); } #line 45090 "preproc.c" break; case 953: /* opt_restart_seqs: %empty */ #line 6423 "preproc.y" { (yyval.str)=EMPTY; } #line 45097 "preproc.c" break; case 954: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text */ #line 6430 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45105 "preproc.c" break; case 955: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text */ #line 6434 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on column"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45113 "preproc.c" break; case 956: /* CommentStmt: COMMENT ON object_type_name name IS comment_text */ #line 6438 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45121 "preproc.c" break; case 957: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text */ #line 6442 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on type"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45129 "preproc.c" break; case 958: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text */ #line 6446 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45137 "preproc.c" break; case 959: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text */ #line 6450 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on aggregate"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45145 "preproc.c" break; case 960: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text */ #line 6454 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on function"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45153 "preproc.c" break; case 961: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text */ #line 6458 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on operator"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45161 "preproc.c" break; case 962: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text */ #line 6462 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on constraint"),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45169 "preproc.c" break; case 963: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text */ #line 6466 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on constraint"),(yyvsp[-5].str),mm_strdup("on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45177 "preproc.c" break; case 964: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text */ #line 6470 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("comment on"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45185 "preproc.c" break; case 965: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text */ #line 6474 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on procedure"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45193 "preproc.c" break; case 966: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text */ #line 6478 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on routine"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45201 "preproc.c" break; case 967: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text */ #line 6482 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on transform for"),(yyvsp[-4].str),mm_strdup("language"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45209 "preproc.c" break; case 968: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text */ #line 6486 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on operator class"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45217 "preproc.c" break; case 969: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text */ #line 6490 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45225 "preproc.c" break; case 970: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text */ #line 6494 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on large object"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45233 "preproc.c" break; case 971: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text */ #line 6498 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on cast ("),(yyvsp[-5].str),mm_strdup("as"),(yyvsp[-3].str),mm_strdup(") is"),(yyvsp[0].str)); } #line 45241 "preproc.c" break; case 972: /* comment_text: ecpg_sconst */ #line 6506 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45249 "preproc.c" break; case 973: /* comment_text: NULL_P */ #line 6510 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 45257 "preproc.c" break; case 974: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label */ #line 6518 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45265 "preproc.c" break; case 975: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label */ #line 6522 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on column"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45273 "preproc.c" break; case 976: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label */ #line 6526 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45281 "preproc.c" break; case 977: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label */ #line 6530 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on type"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45289 "preproc.c" break; case 978: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label */ #line 6534 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45297 "preproc.c" break; case 979: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label */ #line 6538 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on aggregate"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45305 "preproc.c" break; case 980: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label */ #line 6542 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on function"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45313 "preproc.c" break; case 981: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label */ #line 6546 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-6].str),mm_strdup("on large object"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45321 "preproc.c" break; case 982: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label */ #line 6550 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on procedure"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45329 "preproc.c" break; case 983: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label */ #line 6554 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on routine"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } #line 45337 "preproc.c" break; case 984: /* opt_provider: FOR NonReservedWord_or_Sconst */ #line 6562 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } #line 45345 "preproc.c" break; case 985: /* opt_provider: %empty */ #line 6566 "preproc.y" { (yyval.str)=EMPTY; } #line 45352 "preproc.c" break; case 986: /* security_label: ecpg_sconst */ #line 6573 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45360 "preproc.c" break; case 987: /* security_label: NULL_P */ #line 6577 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 45368 "preproc.c" break; case 988: /* FetchStmt: FETCH fetch_args */ #line 6585 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("fetch"),(yyvsp[0].str)); } #line 45376 "preproc.c" break; case 989: /* FetchStmt: MOVE fetch_args */ #line 6589 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("move"),(yyvsp[0].str)); } #line 45384 "preproc.c" break; case 990: /* FetchStmt: FETCH fetch_args ecpg_fetch_into */ #line 6593 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("fetch"), (yyvsp[-1].str)); } #line 45392 "preproc.c" break; case 991: /* FetchStmt: FETCH FORWARD cursor_name opt_ecpg_fetch_into */ #line 6597 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("fetch forward"), cursor_marker); } #line 45405 "preproc.c" break; case 992: /* FetchStmt: FETCH FORWARD from_in cursor_name opt_ecpg_fetch_into */ #line 6606 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("fetch forward from"), cursor_marker); } #line 45418 "preproc.c" break; case 993: /* FetchStmt: FETCH BACKWARD cursor_name opt_ecpg_fetch_into */ #line 6615 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("fetch backward"), cursor_marker); } #line 45431 "preproc.c" break; case 994: /* FetchStmt: FETCH BACKWARD from_in cursor_name opt_ecpg_fetch_into */ #line 6624 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("fetch backward from"), cursor_marker); } #line 45444 "preproc.c" break; case 995: /* FetchStmt: MOVE FORWARD cursor_name */ #line 6633 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("move forward"), cursor_marker); } #line 45457 "preproc.c" break; case 996: /* FetchStmt: MOVE FORWARD from_in cursor_name */ #line 6642 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("move forward from"), cursor_marker); } #line 45470 "preproc.c" break; case 997: /* FetchStmt: MOVE BACKWARD cursor_name */ #line 6651 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("move backward"), cursor_marker); } #line 45483 "preproc.c" break; case 998: /* FetchStmt: MOVE BACKWARD from_in cursor_name */ #line 6660 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); (yyval.str) = cat_str(2, mm_strdup("move backward from"), cursor_marker); } #line 45496 "preproc.c" break; case 999: /* fetch_args: cursor_name */ #line 6673 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = (yyvsp[0].str); } #line 45514 "preproc.c" break; case 1000: /* fetch_args: from_in cursor_name */ #line 6687 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45532 "preproc.c" break; case 1001: /* fetch_args: NEXT opt_from_in cursor_name */ #line 6701 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("next"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45550 "preproc.c" break; case 1002: /* fetch_args: PRIOR opt_from_in cursor_name */ #line 6715 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("prior"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45568 "preproc.c" break; case 1003: /* fetch_args: FIRST_P opt_from_in cursor_name */ #line 6729 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("first"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45586 "preproc.c" break; case 1004: /* fetch_args: LAST_P opt_from_in cursor_name */ #line 6743 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("last"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45604 "preproc.c" break; case 1005: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name */ #line 6757 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } if ((yyvsp[-2].str)[0] == '$') { free((yyvsp[-2].str)); (yyvsp[-2].str) = mm_strdup("$0"); } (yyval.str) = cat_str(4,mm_strdup("absolute"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45627 "preproc.c" break; case 1006: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name */ #line 6776 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } if ((yyvsp[-2].str)[0] == '$') { free((yyvsp[-2].str)); (yyvsp[-2].str) = mm_strdup("$0"); } (yyval.str) = cat_str(4,mm_strdup("relative"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45650 "preproc.c" break; case 1007: /* fetch_args: SignedIconst opt_from_in cursor_name */ #line 6795 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } if ((yyvsp[-2].str)[0] == '$') { free((yyvsp[-2].str)); (yyvsp[-2].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45673 "preproc.c" break; case 1008: /* fetch_args: ALL opt_from_in cursor_name */ #line 6814 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45691 "preproc.c" break; case 1009: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name */ #line 6828 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } if ((yyvsp[-2].str)[0] == '$') { free((yyvsp[-2].str)); (yyvsp[-2].str) = mm_strdup("$0"); } (yyval.str) = cat_str(4,mm_strdup("forward"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45714 "preproc.c" break; case 1010: /* fetch_args: FORWARD ALL opt_from_in cursor_name */ #line 6847 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("forward all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45732 "preproc.c" break; case 1011: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name */ #line 6861 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } if ((yyvsp[-2].str)[0] == '$') { free((yyvsp[-2].str)); (yyvsp[-2].str) = mm_strdup("$0"); } (yyval.str) = cat_str(4,mm_strdup("backward"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45755 "preproc.c" break; case 1012: /* fetch_args: BACKWARD ALL opt_from_in cursor_name */ #line 6880 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) connection = mm_strdup(ptr -> connection); if ((yyvsp[0].str)[0] == ':') { free((yyvsp[0].str)); (yyvsp[0].str) = mm_strdup("$0"); } (yyval.str) = cat_str(3,mm_strdup("backward all"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45773 "preproc.c" break; case 1013: /* from_in: FROM */ #line 6898 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 45781 "preproc.c" break; case 1014: /* from_in: IN_P */ #line 6902 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 45789 "preproc.c" break; case 1015: /* opt_from_in: from_in */ #line 6910 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45797 "preproc.c" break; case 1016: /* opt_from_in: %empty */ #line 6914 "preproc.y" { (yyval.str)=EMPTY; } #line 45804 "preproc.c" break; case 1017: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by */ #line 6921 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("grant"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45812 "preproc.c" break; case 1018: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ #line 6929 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("revoke"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45820 "preproc.c" break; case 1019: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ #line 6933 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("revoke grant option for"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 45828 "preproc.c" break; case 1020: /* privileges: privilege_list */ #line 6941 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45836 "preproc.c" break; case 1021: /* privileges: ALL */ #line 6945 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 45844 "preproc.c" break; case 1022: /* privileges: ALL PRIVILEGES */ #line 6949 "preproc.y" { (yyval.str) = mm_strdup("all privileges"); } #line 45852 "preproc.c" break; case 1023: /* privileges: ALL '(' columnList ')' */ #line 6953 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all ("),(yyvsp[-1].str),mm_strdup(")")); } #line 45860 "preproc.c" break; case 1024: /* privileges: ALL PRIVILEGES '(' columnList ')' */ #line 6957 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all privileges ("),(yyvsp[-1].str),mm_strdup(")")); } #line 45868 "preproc.c" break; case 1025: /* privilege_list: privilege */ #line 6965 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45876 "preproc.c" break; case 1026: /* privilege_list: privilege_list ',' privilege */ #line 6969 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45884 "preproc.c" break; case 1027: /* privilege: SELECT opt_column_list */ #line 6977 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("select"),(yyvsp[0].str)); } #line 45892 "preproc.c" break; case 1028: /* privilege: REFERENCES opt_column_list */ #line 6981 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("references"),(yyvsp[0].str)); } #line 45900 "preproc.c" break; case 1029: /* privilege: CREATE opt_column_list */ #line 6985 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create"),(yyvsp[0].str)); } #line 45908 "preproc.c" break; case 1030: /* privilege: ALTER SYSTEM_P */ #line 6989 "preproc.y" { (yyval.str) = mm_strdup("alter system"); } #line 45916 "preproc.c" break; case 1031: /* privilege: ColId opt_column_list */ #line 6993 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 45924 "preproc.c" break; case 1032: /* parameter_name_list: parameter_name */ #line 7001 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45932 "preproc.c" break; case 1033: /* parameter_name_list: parameter_name_list ',' parameter_name */ #line 7005 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 45940 "preproc.c" break; case 1034: /* parameter_name: ColId */ #line 7013 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45948 "preproc.c" break; case 1035: /* parameter_name: parameter_name '.' ColId */ #line 7017 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 45956 "preproc.c" break; case 1036: /* privilege_target: qualified_name_list */ #line 7025 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 45964 "preproc.c" break; case 1037: /* privilege_target: TABLE qualified_name_list */ #line 7029 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 45972 "preproc.c" break; case 1038: /* privilege_target: SEQUENCE qualified_name_list */ #line 7033 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence"),(yyvsp[0].str)); } #line 45980 "preproc.c" break; case 1039: /* privilege_target: FOREIGN DATA_P WRAPPER name_list */ #line 7037 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign data wrapper"),(yyvsp[0].str)); } #line 45988 "preproc.c" break; case 1040: /* privilege_target: FOREIGN SERVER name_list */ #line 7041 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign server"),(yyvsp[0].str)); } #line 45996 "preproc.c" break; case 1041: /* privilege_target: FUNCTION function_with_argtypes_list */ #line 7045 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("function"),(yyvsp[0].str)); } #line 46004 "preproc.c" break; case 1042: /* privilege_target: PROCEDURE function_with_argtypes_list */ #line 7049 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("procedure"),(yyvsp[0].str)); } #line 46012 "preproc.c" break; case 1043: /* privilege_target: ROUTINE function_with_argtypes_list */ #line 7053 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("routine"),(yyvsp[0].str)); } #line 46020 "preproc.c" break; case 1044: /* privilege_target: DATABASE name_list */ #line 7057 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("database"),(yyvsp[0].str)); } #line 46028 "preproc.c" break; case 1045: /* privilege_target: DOMAIN_P any_name_list */ #line 7061 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("domain"),(yyvsp[0].str)); } #line 46036 "preproc.c" break; case 1046: /* privilege_target: LANGUAGE name_list */ #line 7065 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 46044 "preproc.c" break; case 1047: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list */ #line 7069 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("large object"),(yyvsp[0].str)); } #line 46052 "preproc.c" break; case 1048: /* privilege_target: PARAMETER parameter_name_list */ #line 7073 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parameter"),(yyvsp[0].str)); } #line 46060 "preproc.c" break; case 1049: /* privilege_target: SCHEMA name_list */ #line 7077 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } #line 46068 "preproc.c" break; case 1050: /* privilege_target: TABLESPACE name_list */ #line 7081 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } #line 46076 "preproc.c" break; case 1051: /* privilege_target: TYPE_P any_name_list */ #line 7085 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } #line 46084 "preproc.c" break; case 1052: /* privilege_target: ALL TABLES IN_P SCHEMA name_list */ #line 7089 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all tables in schema"),(yyvsp[0].str)); } #line 46092 "preproc.c" break; case 1053: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list */ #line 7093 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all sequences in schema"),(yyvsp[0].str)); } #line 46100 "preproc.c" break; case 1054: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list */ #line 7097 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all functions in schema"),(yyvsp[0].str)); } #line 46108 "preproc.c" break; case 1055: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list */ #line 7101 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all procedures in schema"),(yyvsp[0].str)); } #line 46116 "preproc.c" break; case 1056: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list */ #line 7105 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all routines in schema"),(yyvsp[0].str)); } #line 46124 "preproc.c" break; case 1057: /* grantee_list: grantee */ #line 7113 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46132 "preproc.c" break; case 1058: /* grantee_list: grantee_list ',' grantee */ #line 7117 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46140 "preproc.c" break; case 1059: /* grantee: RoleSpec */ #line 7125 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46148 "preproc.c" break; case 1060: /* grantee: GROUP_P RoleSpec */ #line 7129 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("group"),(yyvsp[0].str)); } #line 46156 "preproc.c" break; case 1061: /* opt_grant_grant_option: WITH GRANT OPTION */ #line 7137 "preproc.y" { (yyval.str) = mm_strdup("with grant option"); } #line 46164 "preproc.c" break; case 1062: /* opt_grant_grant_option: %empty */ #line 7141 "preproc.y" { (yyval.str)=EMPTY; } #line 46171 "preproc.c" break; case 1063: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_granted_by */ #line 7148 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("grant"),(yyvsp[-3].str),mm_strdup("to"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46179 "preproc.c" break; case 1064: /* GrantRoleStmt: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by */ #line 7152 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("grant"),(yyvsp[-5].str),mm_strdup("to"),(yyvsp[-3].str),mm_strdup("with"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46187 "preproc.c" break; case 1065: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior */ #line 7160 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("revoke"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46195 "preproc.c" break; case 1066: /* RevokeRoleStmt: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior */ #line 7164 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("revoke"),(yyvsp[-7].str),mm_strdup("option for"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46203 "preproc.c" break; case 1067: /* grant_role_opt_list: grant_role_opt_list ',' grant_role_opt */ #line 7172 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46211 "preproc.c" break; case 1068: /* grant_role_opt_list: grant_role_opt */ #line 7176 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46219 "preproc.c" break; case 1069: /* grant_role_opt: ColLabel grant_role_opt_value */ #line 7184 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46227 "preproc.c" break; case 1070: /* grant_role_opt_value: OPTION */ #line 7192 "preproc.y" { (yyval.str) = mm_strdup("option"); } #line 46235 "preproc.c" break; case 1071: /* grant_role_opt_value: TRUE_P */ #line 7196 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 46243 "preproc.c" break; case 1072: /* grant_role_opt_value: FALSE_P */ #line 7200 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 46251 "preproc.c" break; case 1073: /* opt_granted_by: GRANTED BY RoleSpec */ #line 7208 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("granted by"),(yyvsp[0].str)); } #line 46259 "preproc.c" break; case 1074: /* opt_granted_by: %empty */ #line 7212 "preproc.y" { (yyval.str)=EMPTY; } #line 46266 "preproc.c" break; case 1075: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction */ #line 7219 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter default privileges"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46274 "preproc.c" break; case 1076: /* DefACLOptionList: DefACLOptionList DefACLOption */ #line 7227 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46282 "preproc.c" break; case 1077: /* DefACLOptionList: %empty */ #line 7231 "preproc.y" { (yyval.str)=EMPTY; } #line 46289 "preproc.c" break; case 1078: /* DefACLOption: IN_P SCHEMA name_list */ #line 7238 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in schema"),(yyvsp[0].str)); } #line 46297 "preproc.c" break; case 1079: /* DefACLOption: FOR ROLE role_list */ #line 7242 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for role"),(yyvsp[0].str)); } #line 46305 "preproc.c" break; case 1080: /* DefACLOption: FOR USER role_list */ #line 7246 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for user"),(yyvsp[0].str)); } #line 46313 "preproc.c" break; case 1081: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option */ #line 7254 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("grant"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("to"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46321 "preproc.c" break; case 1082: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ #line 7258 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("revoke"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("from"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46329 "preproc.c" break; case 1083: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ #line 7262 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("revoke grant option for"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("from"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46337 "preproc.c" break; case 1084: /* defacl_privilege_target: TABLES */ #line 7270 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 46345 "preproc.c" break; case 1085: /* defacl_privilege_target: FUNCTIONS */ #line 7274 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 46353 "preproc.c" break; case 1086: /* defacl_privilege_target: ROUTINES */ #line 7278 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 46361 "preproc.c" break; case 1087: /* defacl_privilege_target: SEQUENCES */ #line 7282 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 46369 "preproc.c" break; case 1088: /* defacl_privilege_target: TYPES_P */ #line 7286 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 46377 "preproc.c" break; case 1089: /* defacl_privilege_target: SCHEMAS */ #line 7290 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 46385 "preproc.c" break; case 1090: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_single_name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */ #line 7298 "preproc.y" { (yyval.str) = cat_str(16,mm_strdup("create"),(yyvsp[-14].str),mm_strdup("index"),(yyvsp[-12].str),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46393 "preproc.c" break; case 1091: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */ #line 7302 "preproc.y" { (yyval.str) = cat_str(17,mm_strdup("create"),(yyvsp[-17].str),mm_strdup("index"),(yyvsp[-15].str),mm_strdup("if not exists"),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46401 "preproc.c" break; case 1092: /* opt_unique: UNIQUE */ #line 7310 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 46409 "preproc.c" break; case 1093: /* opt_unique: %empty */ #line 7314 "preproc.y" { (yyval.str)=EMPTY; } #line 46416 "preproc.c" break; case 1094: /* access_method_clause: USING name */ #line 7321 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 46424 "preproc.c" break; case 1095: /* access_method_clause: %empty */ #line 7325 "preproc.y" { (yyval.str)=EMPTY; } #line 46431 "preproc.c" break; case 1096: /* index_params: index_elem */ #line 7332 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46439 "preproc.c" break; case 1097: /* index_params: index_params ',' index_elem */ #line 7336 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46447 "preproc.c" break; case 1098: /* index_elem_options: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order */ #line 7344 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46455 "preproc.c" break; case 1099: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order */ #line 7348 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46463 "preproc.c" break; case 1100: /* index_elem: ColId index_elem_options */ #line 7356 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46471 "preproc.c" break; case 1101: /* index_elem: func_expr_windowless index_elem_options */ #line 7360 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46479 "preproc.c" break; case 1102: /* index_elem: '(' a_expr ')' index_elem_options */ #line 7364 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 46487 "preproc.c" break; case 1103: /* opt_include: INCLUDE '(' index_including_params ')' */ #line 7372 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } #line 46495 "preproc.c" break; case 1104: /* opt_include: %empty */ #line 7376 "preproc.y" { (yyval.str)=EMPTY; } #line 46502 "preproc.c" break; case 1105: /* index_including_params: index_elem */ #line 7383 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46510 "preproc.c" break; case 1106: /* index_including_params: index_including_params ',' index_elem */ #line 7387 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46518 "preproc.c" break; case 1107: /* opt_collate: COLLATE any_name */ #line 7395 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } #line 46526 "preproc.c" break; case 1108: /* opt_collate: %empty */ #line 7399 "preproc.y" { (yyval.str)=EMPTY; } #line 46533 "preproc.c" break; case 1109: /* opt_asc_desc: ASC */ #line 7406 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 46541 "preproc.c" break; case 1110: /* opt_asc_desc: DESC */ #line 7410 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 46549 "preproc.c" break; case 1111: /* opt_asc_desc: %empty */ #line 7414 "preproc.y" { (yyval.str)=EMPTY; } #line 46556 "preproc.c" break; case 1112: /* opt_nulls_order: NULLS_LA FIRST_P */ #line 7421 "preproc.y" { (yyval.str) = mm_strdup("nulls first"); } #line 46564 "preproc.c" break; case 1113: /* opt_nulls_order: NULLS_LA LAST_P */ #line 7425 "preproc.y" { (yyval.str) = mm_strdup("nulls last"); } #line 46572 "preproc.c" break; case 1114: /* opt_nulls_order: %empty */ #line 7429 "preproc.y" { (yyval.str)=EMPTY; } #line 46579 "preproc.c" break; case 1115: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body */ #line 7436 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-7].str),mm_strdup("function"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("returns"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46587 "preproc.c" break; case 1116: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS TABLE '(' table_func_column_list ')' opt_createfunc_opt_list opt_routine_body */ #line 7440 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("function"),(yyvsp[-8].str),(yyvsp[-7].str),mm_strdup("returns table ("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46595 "preproc.c" break; case 1117: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ #line 7444 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-5].str),mm_strdup("function"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46603 "preproc.c" break; case 1118: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ #line 7448 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-5].str),mm_strdup("procedure"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46611 "preproc.c" break; case 1119: /* opt_or_replace: OR REPLACE */ #line 7456 "preproc.y" { (yyval.str) = mm_strdup("or replace"); } #line 46619 "preproc.c" break; case 1120: /* opt_or_replace: %empty */ #line 7460 "preproc.y" { (yyval.str)=EMPTY; } #line 46626 "preproc.c" break; case 1121: /* func_args: '(' func_args_list ')' */ #line 7467 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46634 "preproc.c" break; case 1122: /* func_args: '(' ')' */ #line 7471 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 46642 "preproc.c" break; case 1123: /* func_args_list: func_arg */ #line 7479 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46650 "preproc.c" break; case 1124: /* func_args_list: func_args_list ',' func_arg */ #line 7483 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46658 "preproc.c" break; case 1125: /* function_with_argtypes_list: function_with_argtypes */ #line 7491 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46666 "preproc.c" break; case 1126: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes */ #line 7495 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46674 "preproc.c" break; case 1127: /* function_with_argtypes: func_name func_args */ #line 7503 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46682 "preproc.c" break; case 1128: /* function_with_argtypes: type_func_name_keyword */ #line 7507 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46690 "preproc.c" break; case 1129: /* function_with_argtypes: ColId */ #line 7511 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46698 "preproc.c" break; case 1130: /* function_with_argtypes: ColId indirection */ #line 7515 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46706 "preproc.c" break; case 1131: /* func_args_with_defaults: '(' func_args_with_defaults_list ')' */ #line 7523 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46714 "preproc.c" break; case 1132: /* func_args_with_defaults: '(' ')' */ #line 7527 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 46722 "preproc.c" break; case 1133: /* func_args_with_defaults_list: func_arg_with_default */ #line 7535 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46730 "preproc.c" break; case 1134: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default */ #line 7539 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46738 "preproc.c" break; case 1135: /* func_arg: arg_class param_name func_type */ #line 7547 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46746 "preproc.c" break; case 1136: /* func_arg: param_name arg_class func_type */ #line 7551 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 46754 "preproc.c" break; case 1137: /* func_arg: param_name func_type */ #line 7555 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46762 "preproc.c" break; case 1138: /* func_arg: arg_class func_type */ #line 7559 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46770 "preproc.c" break; case 1139: /* func_arg: func_type */ #line 7563 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46778 "preproc.c" break; case 1140: /* arg_class: IN_P */ #line 7571 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 46786 "preproc.c" break; case 1141: /* arg_class: OUT_P */ #line 7575 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 46794 "preproc.c" break; case 1142: /* arg_class: INOUT */ #line 7579 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 46802 "preproc.c" break; case 1143: /* arg_class: IN_P OUT_P */ #line 7583 "preproc.y" { (yyval.str) = mm_strdup("in out"); } #line 46810 "preproc.c" break; case 1144: /* arg_class: VARIADIC */ #line 7587 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 46818 "preproc.c" break; case 1145: /* param_name: type_function_name */ #line 7595 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46826 "preproc.c" break; case 1146: /* func_return: func_type */ #line 7603 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46834 "preproc.c" break; case 1147: /* func_type: Typename */ #line 7611 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46842 "preproc.c" break; case 1148: /* func_type: type_function_name attrs '%' TYPE_P */ #line 7615 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } #line 46850 "preproc.c" break; case 1149: /* func_type: SETOF type_function_name attrs '%' TYPE_P */ #line 7619 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("setof"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } #line 46858 "preproc.c" break; case 1150: /* func_arg_with_default: func_arg */ #line 7627 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46866 "preproc.c" break; case 1151: /* func_arg_with_default: func_arg DEFAULT a_expr */ #line 7631 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("default"),(yyvsp[0].str)); } #line 46874 "preproc.c" break; case 1152: /* func_arg_with_default: func_arg '=' a_expr */ #line 7635 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 46882 "preproc.c" break; case 1153: /* aggr_arg: func_arg */ #line 7643 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46890 "preproc.c" break; case 1154: /* aggr_args: '(' '*' ')' */ #line 7651 "preproc.y" { (yyval.str) = mm_strdup("( * )"); } #line 46898 "preproc.c" break; case 1155: /* aggr_args: '(' aggr_args_list ')' */ #line 7655 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 46906 "preproc.c" break; case 1156: /* aggr_args: '(' ORDER BY aggr_args_list ')' */ #line 7659 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( order by"),(yyvsp[-1].str),mm_strdup(")")); } #line 46914 "preproc.c" break; case 1157: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')' */ #line 7663 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-4].str),mm_strdup("order by"),(yyvsp[-1].str),mm_strdup(")")); } #line 46922 "preproc.c" break; case 1158: /* aggr_args_list: aggr_arg */ #line 7671 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46930 "preproc.c" break; case 1159: /* aggr_args_list: aggr_args_list ',' aggr_arg */ #line 7675 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46938 "preproc.c" break; case 1160: /* aggregate_with_argtypes: func_name aggr_args */ #line 7683 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46946 "preproc.c" break; case 1161: /* aggregate_with_argtypes_list: aggregate_with_argtypes */ #line 7691 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46954 "preproc.c" break; case 1162: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes */ #line 7695 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 46962 "preproc.c" break; case 1163: /* opt_createfunc_opt_list: createfunc_opt_list */ #line 7703 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46970 "preproc.c" break; case 1164: /* opt_createfunc_opt_list: %empty */ #line 7707 "preproc.y" { (yyval.str)=EMPTY; } #line 46977 "preproc.c" break; case 1165: /* createfunc_opt_list: createfunc_opt_item */ #line 7714 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 46985 "preproc.c" break; case 1166: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item */ #line 7718 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 46993 "preproc.c" break; case 1167: /* common_func_opt_item: CALLED ON NULL_P INPUT_P */ #line 7726 "preproc.y" { (yyval.str) = mm_strdup("called on null input"); } #line 47001 "preproc.c" break; case 1168: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P */ #line 7730 "preproc.y" { (yyval.str) = mm_strdup("returns null on null input"); } #line 47009 "preproc.c" break; case 1169: /* common_func_opt_item: STRICT_P */ #line 7734 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 47017 "preproc.c" break; case 1170: /* common_func_opt_item: IMMUTABLE */ #line 7738 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 47025 "preproc.c" break; case 1171: /* common_func_opt_item: STABLE */ #line 7742 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 47033 "preproc.c" break; case 1172: /* common_func_opt_item: VOLATILE */ #line 7746 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 47041 "preproc.c" break; case 1173: /* common_func_opt_item: EXTERNAL SECURITY DEFINER */ #line 7750 "preproc.y" { (yyval.str) = mm_strdup("external security definer"); } #line 47049 "preproc.c" break; case 1174: /* common_func_opt_item: EXTERNAL SECURITY INVOKER */ #line 7754 "preproc.y" { (yyval.str) = mm_strdup("external security invoker"); } #line 47057 "preproc.c" break; case 1175: /* common_func_opt_item: SECURITY DEFINER */ #line 7758 "preproc.y" { (yyval.str) = mm_strdup("security definer"); } #line 47065 "preproc.c" break; case 1176: /* common_func_opt_item: SECURITY INVOKER */ #line 7762 "preproc.y" { (yyval.str) = mm_strdup("security invoker"); } #line 47073 "preproc.c" break; case 1177: /* common_func_opt_item: LEAKPROOF */ #line 7766 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 47081 "preproc.c" break; case 1178: /* common_func_opt_item: NOT LEAKPROOF */ #line 7770 "preproc.y" { (yyval.str) = mm_strdup("not leakproof"); } #line 47089 "preproc.c" break; case 1179: /* common_func_opt_item: COST NumericOnly */ #line 7774 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cost"),(yyvsp[0].str)); } #line 47097 "preproc.c" break; case 1180: /* common_func_opt_item: ROWS NumericOnly */ #line 7778 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rows"),(yyvsp[0].str)); } #line 47105 "preproc.c" break; case 1181: /* common_func_opt_item: SUPPORT any_name */ #line 7782 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("support"),(yyvsp[0].str)); } #line 47113 "preproc.c" break; case 1182: /* common_func_opt_item: FunctionSetResetClause */ #line 7786 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47121 "preproc.c" break; case 1183: /* common_func_opt_item: PARALLEL ColId */ #line 7790 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parallel"),(yyvsp[0].str)); } #line 47129 "preproc.c" break; case 1184: /* createfunc_opt_item: AS func_as */ #line 7798 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 47137 "preproc.c" break; case 1185: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst */ #line 7802 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 47145 "preproc.c" break; case 1186: /* createfunc_opt_item: TRANSFORM transform_type_list */ #line 7806 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transform"),(yyvsp[0].str)); } #line 47153 "preproc.c" break; case 1187: /* createfunc_opt_item: WINDOW */ #line 7810 "preproc.y" { (yyval.str) = mm_strdup("window"); } #line 47161 "preproc.c" break; case 1188: /* createfunc_opt_item: common_func_opt_item */ #line 7814 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47169 "preproc.c" break; case 1189: /* func_as: ecpg_sconst */ #line 7822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47177 "preproc.c" break; case 1190: /* func_as: ecpg_sconst ',' ecpg_sconst */ #line 7826 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 47185 "preproc.c" break; case 1191: /* ReturnStmt: RETURN a_expr */ #line 7834 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("return"),(yyvsp[0].str)); } #line 47193 "preproc.c" break; case 1192: /* opt_routine_body: ReturnStmt */ #line 7842 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47201 "preproc.c" break; case 1193: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P */ #line 7846 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin atomic"),(yyvsp[-1].str),mm_strdup("end")); } #line 47209 "preproc.c" break; case 1194: /* opt_routine_body: %empty */ #line 7850 "preproc.y" { (yyval.str)=EMPTY; } #line 47216 "preproc.c" break; case 1195: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';' */ #line 7857 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(";")); } #line 47224 "preproc.c" break; case 1196: /* routine_body_stmt_list: %empty */ #line 7861 "preproc.y" { (yyval.str)=EMPTY; } #line 47231 "preproc.c" break; case 1197: /* routine_body_stmt: stmt */ #line 7868 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47239 "preproc.c" break; case 1198: /* routine_body_stmt: ReturnStmt */ #line 7872 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47247 "preproc.c" break; case 1199: /* transform_type_list: FOR TYPE_P Typename */ #line 7880 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for type"),(yyvsp[0].str)); } #line 47255 "preproc.c" break; case 1200: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename */ #line 7884 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup(", for type"),(yyvsp[0].str)); } #line 47263 "preproc.c" break; case 1201: /* opt_definition: WITH definition */ #line 7892 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 47271 "preproc.c" break; case 1202: /* opt_definition: %empty */ #line 7896 "preproc.y" { (yyval.str)=EMPTY; } #line 47278 "preproc.c" break; case 1203: /* table_func_column: param_name func_type */ #line 7903 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 47286 "preproc.c" break; case 1204: /* table_func_column_list: table_func_column */ #line 7911 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47294 "preproc.c" break; case 1205: /* table_func_column_list: table_func_column_list ',' table_func_column */ #line 7915 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 47302 "preproc.c" break; case 1206: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7923 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47310 "preproc.c" break; case 1207: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7927 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47318 "preproc.c" break; case 1208: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict */ #line 7931 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47326 "preproc.c" break; case 1209: /* alterfunc_opt_list: common_func_opt_item */ #line 7939 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47334 "preproc.c" break; case 1210: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item */ #line 7943 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 47342 "preproc.c" break; case 1211: /* opt_restrict: RESTRICT */ #line 7951 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 47350 "preproc.c" break; case 1212: /* opt_restrict: %empty */ #line 7955 "preproc.y" { (yyval.str)=EMPTY; } #line 47357 "preproc.c" break; case 1213: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior */ #line 7962 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47365 "preproc.c" break; case 1214: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7966 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47373 "preproc.c" break; case 1215: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior */ #line 7970 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47381 "preproc.c" break; case 1216: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7974 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47389 "preproc.c" break; case 1217: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior */ #line 7978 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47397 "preproc.c" break; case 1218: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ #line 7982 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47405 "preproc.c" break; case 1219: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior */ #line 7990 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47413 "preproc.c" break; case 1220: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior */ #line 7994 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47421 "preproc.c" break; case 1221: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior */ #line 8002 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47429 "preproc.c" break; case 1222: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior */ #line 8006 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47437 "preproc.c" break; case 1223: /* oper_argtypes: '(' Typename ')' */ #line 8014 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 47445 "preproc.c" break; case 1224: /* oper_argtypes: '(' Typename ',' Typename ')' */ #line 8018 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 47453 "preproc.c" break; case 1225: /* oper_argtypes: '(' NONE ',' Typename ')' */ #line 8022 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( none ,"),(yyvsp[-1].str),mm_strdup(")")); } #line 47461 "preproc.c" break; case 1226: /* oper_argtypes: '(' Typename ',' NONE ')' */ #line 8026 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-3].str),mm_strdup(", none )")); } #line 47469 "preproc.c" break; case 1227: /* any_operator: all_Op */ #line 8034 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47477 "preproc.c" break; case 1228: /* any_operator: ColId '.' any_operator */ #line 8038 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } #line 47485 "preproc.c" break; case 1229: /* operator_with_argtypes_list: operator_with_argtypes */ #line 8046 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47493 "preproc.c" break; case 1230: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes */ #line 8050 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 47501 "preproc.c" break; case 1231: /* operator_with_argtypes: any_operator oper_argtypes */ #line 8058 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 47509 "preproc.c" break; case 1232: /* DoStmt: DO dostmt_opt_list */ #line 8066 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("do"),(yyvsp[0].str)); } #line 47517 "preproc.c" break; case 1233: /* dostmt_opt_list: dostmt_opt_item */ #line 8074 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47525 "preproc.c" break; case 1234: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item */ #line 8078 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 47533 "preproc.c" break; case 1235: /* dostmt_opt_item: ecpg_sconst */ #line 8086 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 47541 "preproc.c" break; case 1236: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst */ #line 8090 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } #line 47549 "preproc.c" break; case 1237: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context */ #line 8098 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create cast ("),(yyvsp[-7].str),mm_strdup("as"),(yyvsp[-5].str),mm_strdup(") with function"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47557 "preproc.c" break; case 1238: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context */ #line 8102 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create cast ("),(yyvsp[-6].str),mm_strdup("as"),(yyvsp[-4].str),mm_strdup(") without function"),(yyvsp[0].str)); } #line 47565 "preproc.c" break; case 1239: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context */ #line 8106 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create cast ("),(yyvsp[-6].str),mm_strdup("as"),(yyvsp[-4].str),mm_strdup(") with inout"),(yyvsp[0].str)); } #line 47573 "preproc.c" break; case 1240: /* cast_context: AS IMPLICIT_P */ #line 8114 "preproc.y" { (yyval.str) = mm_strdup("as implicit"); } #line 47581 "preproc.c" break; case 1241: /* cast_context: AS ASSIGNMENT */ #line 8118 "preproc.y" { (yyval.str) = mm_strdup("as assignment"); } #line 47589 "preproc.c" break; case 1242: /* cast_context: %empty */ #line 8122 "preproc.y" { (yyval.str)=EMPTY; } #line 47596 "preproc.c" break; case 1243: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior */ #line 8129 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("drop cast"),(yyvsp[-6].str),mm_strdup("("),(yyvsp[-4].str),mm_strdup("as"),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 47604 "preproc.c" break; case 1244: /* opt_if_exists: IF_P EXISTS */ #line 8137 "preproc.y" { (yyval.str) = mm_strdup("if exists"); } #line 47612 "preproc.c" break; case 1245: /* opt_if_exists: %empty */ #line 8141 "preproc.y" { (yyval.str)=EMPTY; } #line 47619 "preproc.c" break; case 1246: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')' */ #line 8148 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("transform for"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 47627 "preproc.c" break; case 1247: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes */ #line 8156 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("from sql with function"),(yyvsp[-6].str),mm_strdup(", to sql with function"),(yyvsp[0].str)); } #line 47635 "preproc.c" break; case 1248: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes */ #line 8160 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("to sql with function"),(yyvsp[-6].str),mm_strdup(", from sql with function"),(yyvsp[0].str)); } #line 47643 "preproc.c" break; case 1249: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes */ #line 8164 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from sql with function"),(yyvsp[0].str)); } #line 47651 "preproc.c" break; case 1250: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes */ #line 8168 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to sql with function"),(yyvsp[0].str)); } #line 47659 "preproc.c" break; case 1251: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior */ #line 8176 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("drop transform"),(yyvsp[-5].str),mm_strdup("for"),(yyvsp[-3].str),mm_strdup("language"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47667 "preproc.c" break; case 1252: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_relation opt_concurrently qualified_name */ #line 8184 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("reindex"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47675 "preproc.c" break; case 1253: /* ReindexStmt: REINDEX opt_reindex_option_list SCHEMA opt_concurrently name */ #line 8188 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("reindex"),(yyvsp[-3].str),mm_strdup("schema"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47683 "preproc.c" break; case 1254: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_all opt_concurrently opt_single_name */ #line 8192 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("reindex"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 47691 "preproc.c" break; case 1255: /* reindex_target_relation: INDEX */ #line 8200 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 47699 "preproc.c" break; case 1256: /* reindex_target_relation: TABLE */ #line 8204 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 47707 "preproc.c" break; case 1257: /* reindex_target_all: SYSTEM_P */ #line 8212 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 47715 "preproc.c" break; case 1258: /* reindex_target_all: DATABASE */ #line 8216 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 47723 "preproc.c" break; case 1259: /* opt_reindex_option_list: '(' utility_option_list ')' */ #line 8224 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 47731 "preproc.c" break; case 1260: /* opt_reindex_option_list: %empty */ #line 8228 "preproc.y" { (yyval.str)=EMPTY; } #line 47738 "preproc.c" break; case 1261: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions */ #line 8235 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 47746 "preproc.c" break; case 1262: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions */ #line 8239 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } #line 47754 "preproc.c" break; case 1263: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name */ #line 8247 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47762 "preproc.c" break; case 1264: /* RenameStmt: ALTER COLLATION any_name RENAME TO name */ #line 8251 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47770 "preproc.c" break; case 1265: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name */ #line 8255 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47778 "preproc.c" break; case 1266: /* RenameStmt: ALTER DATABASE name RENAME TO name */ #line 8259 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47786 "preproc.c" break; case 1267: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name */ #line 8263 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47794 "preproc.c" break; case 1268: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name */ #line 8267 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter domain"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 47802 "preproc.c" break; case 1269: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name */ #line 8271 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47810 "preproc.c" break; case 1270: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name */ #line 8275 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47818 "preproc.c" break; case 1271: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId */ #line 8279 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter group"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47826 "preproc.c" break; case 1272: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name */ #line 8283 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47834 "preproc.c" break; case 1273: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name */ #line 8287 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47842 "preproc.c" break; case 1274: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name */ #line 8291 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47850 "preproc.c" break; case 1275: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name */ #line 8295 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter policy"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47858 "preproc.c" break; case 1276: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name */ #line 8299 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter policy if exists"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47866 "preproc.c" break; case 1277: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name */ #line 8303 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47874 "preproc.c" break; case 1278: /* RenameStmt: ALTER PUBLICATION name RENAME TO name */ #line 8307 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47882 "preproc.c" break; case 1279: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name */ #line 8311 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47890 "preproc.c" break; case 1280: /* RenameStmt: ALTER SCHEMA name RENAME TO name */ #line 8315 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47898 "preproc.c" break; case 1281: /* RenameStmt: ALTER SERVER name RENAME TO name */ #line 8319 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47906 "preproc.c" break; case 1282: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name */ #line 8323 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47914 "preproc.c" break; case 1283: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */ #line 8327 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47922 "preproc.c" break; case 1284: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */ #line 8331 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47930 "preproc.c" break; case 1285: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */ #line 8335 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47938 "preproc.c" break; case 1286: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */ #line 8339 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47946 "preproc.c" break; case 1287: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */ #line 8343 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47954 "preproc.c" break; case 1288: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */ #line 8347 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47962 "preproc.c" break; case 1289: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name */ #line 8351 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47970 "preproc.c" break; case 1290: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name */ #line 8355 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47978 "preproc.c" break; case 1291: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */ #line 8359 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47986 "preproc.c" break; case 1292: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */ #line 8363 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 47994 "preproc.c" break; case 1293: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name */ #line 8367 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48002 "preproc.c" break; case 1294: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name */ #line 8371 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48010 "preproc.c" break; case 1295: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */ #line 8375 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48018 "preproc.c" break; case 1296: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ #line 8379 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48026 "preproc.c" break; case 1297: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name */ #line 8383 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter view"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48034 "preproc.c" break; case 1298: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ #line 8387 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter view if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48042 "preproc.c" break; case 1299: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name */ #line 8391 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48050 "preproc.c" break; case 1300: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ #line 8395 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48058 "preproc.c" break; case 1301: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */ #line 8399 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter table"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48066 "preproc.c" break; case 1302: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */ #line 8403 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter table if exists"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48074 "preproc.c" break; case 1303: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name */ #line 8407 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter foreign table"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48082 "preproc.c" break; case 1304: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ #line 8411 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter foreign table if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 48090 "preproc.c" break; case 1305: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name */ #line 8415 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter rule"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48098 "preproc.c" break; case 1306: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name */ #line 8419 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter trigger"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48106 "preproc.c" break; case 1307: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name */ #line 8423 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48114 "preproc.c" break; case 1308: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId */ #line 8427 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48122 "preproc.c" break; case 1309: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId */ #line 8431 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48130 "preproc.c" break; case 1310: /* RenameStmt: ALTER TABLESPACE name RENAME TO name */ #line 8435 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48138 "preproc.c" break; case 1311: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name */ #line 8439 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48146 "preproc.c" break; case 1312: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name */ #line 8443 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48154 "preproc.c" break; case 1313: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name */ #line 8447 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48162 "preproc.c" break; case 1314: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name */ #line 8451 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48170 "preproc.c" break; case 1315: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name */ #line 8455 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48178 "preproc.c" break; case 1316: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name */ #line 8459 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } #line 48186 "preproc.c" break; case 1317: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior */ #line 8463 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("rename attribute"),(yyvsp[-3].str),mm_strdup("to"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48194 "preproc.c" break; case 1318: /* opt_column: COLUMN */ #line 8471 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 48202 "preproc.c" break; case 1319: /* opt_column: %empty */ #line 8475 "preproc.y" { (yyval.str)=EMPTY; } #line 48209 "preproc.c" break; case 1320: /* opt_set_data: SET DATA_P */ #line 8482 "preproc.y" { (yyval.str) = mm_strdup("set data"); } #line 48217 "preproc.c" break; case 1321: /* opt_set_data: %empty */ #line 8486 "preproc.y" { (yyval.str)=EMPTY; } #line 48224 "preproc.c" break; case 1322: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8493 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter function"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48232 "preproc.c" break; case 1323: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8497 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter procedure"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48240 "preproc.c" break; case 1324: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ #line 8501 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter routine"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48248 "preproc.c" break; case 1325: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8505 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter trigger"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48256 "preproc.c" break; case 1326: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8509 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter materialized view"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48264 "preproc.c" break; case 1327: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name */ #line 8513 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter index"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } #line 48272 "preproc.c" break; case 1328: /* opt_no: NO */ #line 8521 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 48280 "preproc.c" break; case 1329: /* opt_no: %empty */ #line 8525 "preproc.y" { (yyval.str)=EMPTY; } #line 48287 "preproc.c" break; case 1330: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name */ #line 8532 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48295 "preproc.c" break; case 1331: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name */ #line 8536 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48303 "preproc.c" break; case 1332: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name */ #line 8540 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48311 "preproc.c" break; case 1333: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name */ #line 8544 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48319 "preproc.c" break; case 1334: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name */ #line 8548 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48327 "preproc.c" break; case 1335: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name */ #line 8552 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48335 "preproc.c" break; case 1336: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name */ #line 8556 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48343 "preproc.c" break; case 1337: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name */ #line 8560 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48351 "preproc.c" break; case 1338: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name */ #line 8564 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48359 "preproc.c" break; case 1339: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name */ #line 8568 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48367 "preproc.c" break; case 1340: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name */ #line 8572 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48375 "preproc.c" break; case 1341: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */ #line 8576 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48383 "preproc.c" break; case 1342: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */ #line 8580 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48391 "preproc.c" break; case 1343: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name */ #line 8584 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48399 "preproc.c" break; case 1344: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name */ #line 8588 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48407 "preproc.c" break; case 1345: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name */ #line 8592 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48415 "preproc.c" break; case 1346: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name */ #line 8596 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48423 "preproc.c" break; case 1347: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name */ #line 8600 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48431 "preproc.c" break; case 1348: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */ #line 8604 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48439 "preproc.c" break; case 1349: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */ #line 8608 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48447 "preproc.c" break; case 1350: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */ #line 8612 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48455 "preproc.c" break; case 1351: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */ #line 8616 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48463 "preproc.c" break; case 1352: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name */ #line 8620 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48471 "preproc.c" break; case 1353: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name */ #line 8624 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48479 "preproc.c" break; case 1354: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name */ #line 8628 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48487 "preproc.c" break; case 1355: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name */ #line 8632 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48495 "preproc.c" break; case 1356: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name */ #line 8636 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } #line 48503 "preproc.c" break; case 1357: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')' */ #line 8644 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter operator"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } #line 48511 "preproc.c" break; case 1358: /* operator_def_list: operator_def_elem */ #line 8652 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48519 "preproc.c" break; case 1359: /* operator_def_list: operator_def_list ',' operator_def_elem */ #line 8656 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 48527 "preproc.c" break; case 1360: /* operator_def_elem: ColLabel '=' NONE */ #line 8664 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= none")); } #line 48535 "preproc.c" break; case 1361: /* operator_def_elem: ColLabel '=' operator_def_arg */ #line 8668 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 48543 "preproc.c" break; case 1362: /* operator_def_arg: func_type */ #line 8676 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48551 "preproc.c" break; case 1363: /* operator_def_arg: reserved_keyword */ #line 8680 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48559 "preproc.c" break; case 1364: /* operator_def_arg: qual_all_Op */ #line 8684 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48567 "preproc.c" break; case 1365: /* operator_def_arg: NumericOnly */ #line 8688 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48575 "preproc.c" break; case 1366: /* operator_def_arg: ecpg_sconst */ #line 8692 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48583 "preproc.c" break; case 1367: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')' */ #line 8700 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter type"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } #line 48591 "preproc.c" break; case 1368: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec */ #line 8708 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48599 "preproc.c" break; case 1369: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec */ #line 8712 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48607 "preproc.c" break; case 1370: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec */ #line 8716 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48615 "preproc.c" break; case 1371: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec */ #line 8720 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48623 "preproc.c" break; case 1372: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec */ #line 8724 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48631 "preproc.c" break; case 1373: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec */ #line 8728 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48639 "preproc.c" break; case 1374: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec */ #line 8732 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48647 "preproc.c" break; case 1375: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec */ #line 8736 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter large object"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48655 "preproc.c" break; case 1376: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec */ #line 8740 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48663 "preproc.c" break; case 1377: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec */ #line 8744 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48671 "preproc.c" break; case 1378: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec */ #line 8748 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48679 "preproc.c" break; case 1379: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec */ #line 8752 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48687 "preproc.c" break; case 1380: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec */ #line 8756 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48695 "preproc.c" break; case 1381: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec */ #line 8760 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48703 "preproc.c" break; case 1382: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec */ #line 8764 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48711 "preproc.c" break; case 1383: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec */ #line 8768 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48719 "preproc.c" break; case 1384: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec */ #line 8772 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48727 "preproc.c" break; case 1385: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec */ #line 8776 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48735 "preproc.c" break; case 1386: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec */ #line 8780 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48743 "preproc.c" break; case 1387: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec */ #line 8784 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48751 "preproc.c" break; case 1388: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec */ #line 8788 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48759 "preproc.c" break; case 1389: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec */ #line 8792 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48767 "preproc.c" break; case 1390: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec */ #line 8796 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48775 "preproc.c" break; case 1391: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec */ #line 8800 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } #line 48783 "preproc.c" break; case 1392: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition */ #line 8808 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48791 "preproc.c" break; case 1393: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition */ #line 8812 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create publication"),(yyvsp[-4].str),mm_strdup("for all tables"),(yyvsp[0].str)); } #line 48799 "preproc.c" break; case 1394: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition */ #line 8816 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create publication"),(yyvsp[-3].str),mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48807 "preproc.c" break; case 1395: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause */ #line 8824 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("table"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48815 "preproc.c" break; case 1396: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId */ #line 8828 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tables in schema"),(yyvsp[0].str)); } #line 48823 "preproc.c" break; case 1397: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA */ #line 8832 "preproc.y" { (yyval.str) = mm_strdup("tables in schema current_schema"); } #line 48831 "preproc.c" break; case 1398: /* PublicationObjSpec: ColId opt_column_list OptWhereClause */ #line 8836 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48839 "preproc.c" break; case 1399: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause */ #line 8840 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48847 "preproc.c" break; case 1400: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause */ #line 8844 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48855 "preproc.c" break; case 1401: /* PublicationObjSpec: CURRENT_SCHEMA */ #line 8848 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 48863 "preproc.c" break; case 1402: /* pub_obj_list: PublicationObjSpec */ #line 8856 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 48871 "preproc.c" break; case 1403: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec */ #line 8860 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 48879 "preproc.c" break; case 1404: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition */ #line 8868 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48887 "preproc.c" break; case 1405: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list */ #line 8872 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } #line 48895 "preproc.c" break; case 1406: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list */ #line 8876 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48903 "preproc.c" break; case 1407: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list */ #line 8880 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("drop"),(yyvsp[0].str)); } #line 48911 "preproc.c" break; case 1408: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION ecpg_sconst PUBLICATION name_list opt_definition */ #line 8888 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create subscription"),(yyvsp[-5].str),mm_strdup("connection"),(yyvsp[-3].str),mm_strdup("publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48919 "preproc.c" break; case 1409: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition */ #line 8896 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 48927 "preproc.c" break; case 1410: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION ecpg_sconst */ #line 8900 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("connection"),(yyvsp[0].str)); } #line 48935 "preproc.c" break; case 1411: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition */ #line 8904 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("refresh publication"),(yyvsp[0].str)); } #line 48943 "preproc.c" break; case 1412: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition */ #line 8908 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("add publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48951 "preproc.c" break; case 1413: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition */ #line 8912 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("drop publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48959 "preproc.c" break; case 1414: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition */ #line 8916 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("set publication"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48967 "preproc.c" break; case 1415: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P */ #line 8920 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("enable")); } #line 48975 "preproc.c" break; case 1416: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P */ #line 8924 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("disable")); } #line 48983 "preproc.c" break; case 1417: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition */ #line 8928 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("skip"),(yyvsp[0].str)); } #line 48991 "preproc.c" break; case 1418: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior */ #line 8936 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 48999 "preproc.c" break; case 1419: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior */ #line 8940 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49007 "preproc.c" break; case 1420: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList */ #line 8948 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("rule"),(yyvsp[-9].str),mm_strdup("as on"),(yyvsp[-6].str),mm_strdup("to"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("do"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49015 "preproc.c" break; case 1421: /* RuleActionList: NOTHING */ #line 8956 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 49023 "preproc.c" break; case 1422: /* RuleActionList: RuleActionStmt */ #line 8960 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49031 "preproc.c" break; case 1423: /* RuleActionList: '(' RuleActionMulti ')' */ #line 8964 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49039 "preproc.c" break; case 1424: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty */ #line 8972 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(";"),(yyvsp[0].str)); } #line 49047 "preproc.c" break; case 1425: /* RuleActionMulti: RuleActionStmtOrEmpty */ #line 8976 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49055 "preproc.c" break; case 1426: /* RuleActionStmt: SelectStmt */ #line 8984 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49063 "preproc.c" break; case 1427: /* RuleActionStmt: InsertStmt */ #line 8988 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49071 "preproc.c" break; case 1428: /* RuleActionStmt: UpdateStmt */ #line 8992 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49079 "preproc.c" break; case 1429: /* RuleActionStmt: DeleteStmt */ #line 8996 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49087 "preproc.c" break; case 1430: /* RuleActionStmt: NotifyStmt */ #line 9000 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49095 "preproc.c" break; case 1431: /* RuleActionStmtOrEmpty: RuleActionStmt */ #line 9008 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49103 "preproc.c" break; case 1432: /* RuleActionStmtOrEmpty: %empty */ #line 9012 "preproc.y" { (yyval.str)=EMPTY; } #line 49110 "preproc.c" break; case 1433: /* event: SELECT */ #line 9019 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 49118 "preproc.c" break; case 1434: /* event: UPDATE */ #line 9023 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 49126 "preproc.c" break; case 1435: /* event: DELETE_P */ #line 9027 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 49134 "preproc.c" break; case 1436: /* event: INSERT */ #line 9031 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 49142 "preproc.c" break; case 1437: /* opt_instead: INSTEAD */ #line 9039 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 49150 "preproc.c" break; case 1438: /* opt_instead: ALSO */ #line 9043 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 49158 "preproc.c" break; case 1439: /* opt_instead: %empty */ #line 9047 "preproc.y" { (yyval.str)=EMPTY; } #line 49165 "preproc.c" break; case 1440: /* NotifyStmt: NOTIFY ColId notify_payload */ #line 9054 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("notify"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49173 "preproc.c" break; case 1441: /* notify_payload: ',' ecpg_sconst */ #line 9062 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup(","),(yyvsp[0].str)); } #line 49181 "preproc.c" break; case 1442: /* notify_payload: %empty */ #line 9066 "preproc.y" { (yyval.str)=EMPTY; } #line 49188 "preproc.c" break; case 1443: /* ListenStmt: LISTEN ColId */ #line 9073 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("listen"),(yyvsp[0].str)); } #line 49196 "preproc.c" break; case 1444: /* UnlistenStmt: UNLISTEN ColId */ #line 9081 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("unlisten"),(yyvsp[0].str)); } #line 49204 "preproc.c" break; case 1445: /* UnlistenStmt: UNLISTEN '*' */ #line 9085 "preproc.y" { (yyval.str) = mm_strdup("unlisten *"); } #line 49212 "preproc.c" break; case 1446: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain */ #line 9093 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("abort"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49220 "preproc.c" break; case 1447: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty */ #line 9097 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("start transaction"),(yyvsp[0].str)); } #line 49228 "preproc.c" break; case 1448: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain */ #line 9101 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("commit"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49236 "preproc.c" break; case 1449: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain */ #line 9105 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollback"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49244 "preproc.c" break; case 1450: /* TransactionStmt: SAVEPOINT ColId */ #line 9109 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("savepoint"),(yyvsp[0].str)); } #line 49252 "preproc.c" break; case 1451: /* TransactionStmt: RELEASE SAVEPOINT ColId */ #line 9113 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release savepoint"),(yyvsp[0].str)); } #line 49260 "preproc.c" break; case 1452: /* TransactionStmt: RELEASE ColId */ #line 9117 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release"),(yyvsp[0].str)); } #line 49268 "preproc.c" break; case 1453: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId */ #line 9121 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-3].str),mm_strdup("to savepoint"),(yyvsp[0].str)); } #line 49276 "preproc.c" break; case 1454: /* TransactionStmt: ROLLBACK opt_transaction TO ColId */ #line 9125 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } #line 49284 "preproc.c" break; case 1455: /* TransactionStmt: PREPARE TRANSACTION ecpg_sconst */ #line 9129 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("prepare transaction"),(yyvsp[0].str)); } #line 49292 "preproc.c" break; case 1456: /* TransactionStmt: COMMIT PREPARED ecpg_sconst */ #line 9133 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("commit prepared"),(yyvsp[0].str)); } #line 49300 "preproc.c" break; case 1457: /* TransactionStmt: ROLLBACK PREPARED ecpg_sconst */ #line 9137 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rollback prepared"),(yyvsp[0].str)); } #line 49308 "preproc.c" break; case 1458: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty */ #line 9145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49316 "preproc.c" break; case 1459: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain */ #line 9149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("end"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49324 "preproc.c" break; case 1460: /* opt_transaction: WORK */ #line 9157 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 49332 "preproc.c" break; case 1461: /* opt_transaction: TRANSACTION */ #line 9161 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 49340 "preproc.c" break; case 1462: /* opt_transaction: %empty */ #line 9165 "preproc.y" { (yyval.str)=EMPTY; } #line 49347 "preproc.c" break; case 1463: /* transaction_mode_item: ISOLATION LEVEL iso_level */ #line 9172 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("isolation level"),(yyvsp[0].str)); } #line 49355 "preproc.c" break; case 1464: /* transaction_mode_item: READ ONLY */ #line 9176 "preproc.y" { (yyval.str) = mm_strdup("read only"); } #line 49363 "preproc.c" break; case 1465: /* transaction_mode_item: READ WRITE */ #line 9180 "preproc.y" { (yyval.str) = mm_strdup("read write"); } #line 49371 "preproc.c" break; case 1466: /* transaction_mode_item: DEFERRABLE */ #line 9184 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 49379 "preproc.c" break; case 1467: /* transaction_mode_item: NOT DEFERRABLE */ #line 9188 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } #line 49387 "preproc.c" break; case 1468: /* transaction_mode_list: transaction_mode_item */ #line 9196 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49395 "preproc.c" break; case 1469: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item */ #line 9200 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49403 "preproc.c" break; case 1470: /* transaction_mode_list: transaction_mode_list transaction_mode_item */ #line 9204 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49411 "preproc.c" break; case 1471: /* transaction_mode_list_or_empty: transaction_mode_list */ #line 9212 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49419 "preproc.c" break; case 1472: /* transaction_mode_list_or_empty: %empty */ #line 9216 "preproc.y" { (yyval.str)=EMPTY; } #line 49426 "preproc.c" break; case 1473: /* opt_transaction_chain: AND CHAIN */ #line 9223 "preproc.y" { (yyval.str) = mm_strdup("and chain"); } #line 49434 "preproc.c" break; case 1474: /* opt_transaction_chain: AND NO CHAIN */ #line 9227 "preproc.y" { (yyval.str) = mm_strdup("and no chain"); } #line 49442 "preproc.c" break; case 1475: /* opt_transaction_chain: %empty */ #line 9231 "preproc.y" { (yyval.str)=EMPTY; } #line 49449 "preproc.c" break; case 1476: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 9238 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-7].str),mm_strdup("view"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49457 "preproc.c" break; case 1477: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ #line 9242 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create or replace"),(yyvsp[-7].str),mm_strdup("view"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49465 "preproc.c" break; case 1478: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 9246 "preproc.y" { (yyval.str) = cat_str(11,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("recursive view"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49473 "preproc.c" break; case 1479: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ #line 9250 "preproc.y" { (yyval.str) = cat_str(11,mm_strdup("create or replace"),(yyvsp[-10].str),mm_strdup("recursive view"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49481 "preproc.c" break; case 1480: /* opt_check_option: WITH CHECK OPTION */ #line 9258 "preproc.y" { (yyval.str) = mm_strdup("with check option"); } #line 49489 "preproc.c" break; case 1481: /* opt_check_option: WITH CASCADED CHECK OPTION */ #line 9262 "preproc.y" { (yyval.str) = mm_strdup("with cascaded check option"); } #line 49497 "preproc.c" break; case 1482: /* opt_check_option: WITH LOCAL CHECK OPTION */ #line 9266 "preproc.y" { (yyval.str) = mm_strdup("with local check option"); } #line 49505 "preproc.c" break; case 1483: /* opt_check_option: %empty */ #line 9270 "preproc.y" { (yyval.str)=EMPTY; } #line 49512 "preproc.c" break; case 1484: /* LoadStmt: LOAD file_name */ #line 9277 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("load"),(yyvsp[0].str)); } #line 49520 "preproc.c" break; case 1485: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list */ #line 9285 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create database"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49528 "preproc.c" break; case 1486: /* createdb_opt_list: createdb_opt_items */ #line 9293 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49536 "preproc.c" break; case 1487: /* createdb_opt_list: %empty */ #line 9297 "preproc.y" { (yyval.str)=EMPTY; } #line 49543 "preproc.c" break; case 1488: /* createdb_opt_items: createdb_opt_item */ #line 9304 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49551 "preproc.c" break; case 1489: /* createdb_opt_items: createdb_opt_items createdb_opt_item */ #line 9308 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 49559 "preproc.c" break; case 1490: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly */ #line 9316 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49567 "preproc.c" break; case 1491: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string */ #line 9320 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49575 "preproc.c" break; case 1492: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT */ #line 9324 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("default")); } #line 49583 "preproc.c" break; case 1493: /* createdb_opt_name: ecpg_ident */ #line 9332 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49591 "preproc.c" break; case 1494: /* createdb_opt_name: CONNECTION LIMIT */ #line 9336 "preproc.y" { (yyval.str) = mm_strdup("connection limit"); } #line 49599 "preproc.c" break; case 1495: /* createdb_opt_name: ENCODING */ #line 9340 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 49607 "preproc.c" break; case 1496: /* createdb_opt_name: LOCATION */ #line 9344 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 49615 "preproc.c" break; case 1497: /* createdb_opt_name: OWNER */ #line 9348 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 49623 "preproc.c" break; case 1498: /* createdb_opt_name: TABLESPACE */ #line 9352 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 49631 "preproc.c" break; case 1499: /* createdb_opt_name: TEMPLATE */ #line 9356 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 49639 "preproc.c" break; case 1500: /* opt_equal: '=' */ #line 9364 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 49647 "preproc.c" break; case 1501: /* opt_equal: %empty */ #line 9368 "preproc.y" { (yyval.str)=EMPTY; } #line 49654 "preproc.c" break; case 1502: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list */ #line 9375 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } #line 49662 "preproc.c" break; case 1503: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list */ #line 9379 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49670 "preproc.c" break; case 1504: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name */ #line 9383 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("set tablespace"),(yyvsp[0].str)); } #line 49678 "preproc.c" break; case 1505: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P */ #line 9387 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("refresh collation version")); } #line 49686 "preproc.c" break; case 1506: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause */ #line 9395 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49694 "preproc.c" break; case 1507: /* DropdbStmt: DROP DATABASE name */ #line 9403 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database"),(yyvsp[0].str)); } #line 49702 "preproc.c" break; case 1508: /* DropdbStmt: DROP DATABASE IF_P EXISTS name */ #line 9407 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database if exists"),(yyvsp[0].str)); } #line 49710 "preproc.c" break; case 1509: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')' */ #line 9411 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop database"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49718 "preproc.c" break; case 1510: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')' */ #line 9415 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop database if exists"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 49726 "preproc.c" break; case 1511: /* drop_option_list: drop_option */ #line 9423 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 49734 "preproc.c" break; case 1512: /* drop_option_list: drop_option_list ',' drop_option */ #line 9427 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 49742 "preproc.c" break; case 1513: /* drop_option: FORCE */ #line 9435 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 49750 "preproc.c" break; case 1514: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P */ #line 9443 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter collation"),(yyvsp[-2].str),mm_strdup("refresh version")); } #line 49758 "preproc.c" break; case 1515: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set */ #line 9451 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system set"),(yyvsp[0].str)); } #line 49766 "preproc.c" break; case 1516: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset */ #line 9455 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system reset"),(yyvsp[0].str)); } #line 49774 "preproc.c" break; case 1517: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList */ #line 9463 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create domain"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49782 "preproc.c" break; case 1518: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default */ #line 9471 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49790 "preproc.c" break; case 1519: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P */ #line 9475 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("drop not null")); } #line 49798 "preproc.c" break; case 1520: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P */ #line 9479 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set not null")); } #line 49806 "preproc.c" break; case 1521: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P TableConstraint */ #line 9483 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } #line 49814 "preproc.c" break; case 1522: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior */ #line 9487 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter domain"),(yyvsp[-4].str),mm_strdup("drop constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49822 "preproc.c" break; case 1523: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ #line 9491 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter domain"),(yyvsp[-6].str),mm_strdup("drop constraint if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49830 "preproc.c" break; case 1524: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name */ #line 9495 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("validate constraint"),(yyvsp[0].str)); } #line 49838 "preproc.c" break; case 1525: /* opt_as: AS */ #line 9503 "preproc.y" { (yyval.str) = mm_strdup("as"); } #line 49846 "preproc.c" break; case 1526: /* opt_as: %empty */ #line 9507 "preproc.y" { (yyval.str)=EMPTY; } #line 49853 "preproc.c" break; case 1527: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition */ #line 9514 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49861 "preproc.c" break; case 1528: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list */ #line 9522 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("add mapping for"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49869 "preproc.c" break; case 1529: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list */ #line 9526 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("alter mapping for"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49877 "preproc.c" break; case 1530: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name */ #line 9530 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("alter mapping replace"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49885 "preproc.c" break; case 1531: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name */ #line 9534 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter text search configuration"),(yyvsp[-8].str),mm_strdup("alter mapping for"),(yyvsp[-4].str),mm_strdup("replace"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49893 "preproc.c" break; case 1532: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list */ #line 9538 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-4].str),mm_strdup("drop mapping for"),(yyvsp[0].str)); } #line 49901 "preproc.c" break; case 1533: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list */ #line 9542 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("drop mapping if exists for"),(yyvsp[0].str)); } #line 49909 "preproc.c" break; case 1534: /* any_with: WITH */ #line 9550 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 49917 "preproc.c" break; case 1535: /* any_with: WITH_LA */ #line 9554 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 49925 "preproc.c" break; case 1536: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR ecpg_sconst TO ecpg_sconst FROM any_name */ #line 9562 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("conversion"),(yyvsp[-6].str),mm_strdup("for"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 49933 "preproc.c" break; case 1537: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification */ #line 9570 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("cluster"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49941 "preproc.c" break; case 1538: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification */ #line 9574 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster ("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49949 "preproc.c" break; case 1539: /* ClusterStmt: CLUSTER opt_verbose */ #line 9578 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster"),(yyvsp[0].str)); } #line 49957 "preproc.c" break; case 1540: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name */ #line 9582 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("on"),(yyvsp[0].str)); } #line 49965 "preproc.c" break; case 1541: /* cluster_index_specification: USING name */ #line 9590 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 49973 "preproc.c" break; case 1542: /* cluster_index_specification: %empty */ #line 9594 "preproc.y" { (yyval.str)=EMPTY; } #line 49980 "preproc.c" break; case 1543: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list */ #line 9601 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("vacuum"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 49988 "preproc.c" break; case 1544: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list */ #line 9605 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("vacuum ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 49996 "preproc.c" break; case 1545: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list */ #line 9613 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50004 "preproc.c" break; case 1546: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list */ #line 9617 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50012 "preproc.c" break; case 1547: /* utility_option_list: utility_option_elem */ #line 9625 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50020 "preproc.c" break; case 1548: /* utility_option_list: utility_option_list ',' utility_option_elem */ #line 9629 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50028 "preproc.c" break; case 1549: /* analyze_keyword: ANALYZE */ #line 9637 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 50036 "preproc.c" break; case 1550: /* analyze_keyword: ANALYSE */ #line 9641 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 50044 "preproc.c" break; case 1551: /* utility_option_elem: utility_option_name utility_option_arg */ #line 9649 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50052 "preproc.c" break; case 1552: /* utility_option_name: NonReservedWord */ #line 9657 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50060 "preproc.c" break; case 1553: /* utility_option_name: analyze_keyword */ #line 9661 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50068 "preproc.c" break; case 1554: /* utility_option_name: FORMAT_LA */ #line 9665 "preproc.y" { (yyval.str) = mm_strdup("format"); } #line 50076 "preproc.c" break; case 1555: /* utility_option_arg: opt_boolean_or_string */ #line 9673 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50084 "preproc.c" break; case 1556: /* utility_option_arg: NumericOnly */ #line 9677 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50092 "preproc.c" break; case 1557: /* utility_option_arg: %empty */ #line 9681 "preproc.y" { (yyval.str)=EMPTY; } #line 50099 "preproc.c" break; case 1558: /* opt_analyze: analyze_keyword */ #line 9688 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50107 "preproc.c" break; case 1559: /* opt_analyze: %empty */ #line 9692 "preproc.y" { (yyval.str)=EMPTY; } #line 50114 "preproc.c" break; case 1560: /* opt_verbose: VERBOSE */ #line 9699 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 50122 "preproc.c" break; case 1561: /* opt_verbose: %empty */ #line 9703 "preproc.y" { (yyval.str)=EMPTY; } #line 50129 "preproc.c" break; case 1562: /* opt_full: FULL */ #line 9710 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 50137 "preproc.c" break; case 1563: /* opt_full: %empty */ #line 9714 "preproc.y" { (yyval.str)=EMPTY; } #line 50144 "preproc.c" break; case 1564: /* opt_freeze: FREEZE */ #line 9721 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 50152 "preproc.c" break; case 1565: /* opt_freeze: %empty */ #line 9725 "preproc.y" { (yyval.str)=EMPTY; } #line 50159 "preproc.c" break; case 1566: /* opt_name_list: '(' name_list ')' */ #line 9732 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 50167 "preproc.c" break; case 1567: /* opt_name_list: %empty */ #line 9736 "preproc.y" { (yyval.str)=EMPTY; } #line 50174 "preproc.c" break; case 1568: /* vacuum_relation: qualified_name opt_name_list */ #line 9743 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50182 "preproc.c" break; case 1569: /* vacuum_relation_list: vacuum_relation */ #line 9751 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50190 "preproc.c" break; case 1570: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation */ #line 9755 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50198 "preproc.c" break; case 1571: /* opt_vacuum_relation_list: vacuum_relation_list */ #line 9763 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50206 "preproc.c" break; case 1572: /* opt_vacuum_relation_list: %empty */ #line 9767 "preproc.y" { (yyval.str)=EMPTY; } #line 50213 "preproc.c" break; case 1573: /* ExplainStmt: EXPLAIN ExplainableStmt */ #line 9774 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain"),(yyvsp[0].str)); } #line 50221 "preproc.c" break; case 1574: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */ #line 9778 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50229 "preproc.c" break; case 1575: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */ #line 9782 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain verbose"),(yyvsp[0].str)); } #line 50237 "preproc.c" break; case 1576: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt */ #line 9786 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50245 "preproc.c" break; case 1577: /* ExplainableStmt: SelectStmt */ #line 9794 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50253 "preproc.c" break; case 1578: /* ExplainableStmt: InsertStmt */ #line 9798 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50261 "preproc.c" break; case 1579: /* ExplainableStmt: UpdateStmt */ #line 9802 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50269 "preproc.c" break; case 1580: /* ExplainableStmt: DeleteStmt */ #line 9806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50277 "preproc.c" break; case 1581: /* ExplainableStmt: MergeStmt */ #line 9810 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50285 "preproc.c" break; case 1582: /* ExplainableStmt: DeclareCursorStmt */ #line 9814 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50293 "preproc.c" break; case 1583: /* ExplainableStmt: CreateAsStmt */ #line 9818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50301 "preproc.c" break; case 1584: /* ExplainableStmt: CreateMatViewStmt */ #line 9822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50309 "preproc.c" break; case 1585: /* ExplainableStmt: RefreshMatViewStmt */ #line 9826 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50317 "preproc.c" break; case 1586: /* ExplainableStmt: ExecuteStmt */ #line 9830 "preproc.y" { (yyval.str) = (yyvsp[0].exec).name; } #line 50325 "preproc.c" break; case 1587: /* PrepareStmt: PREPARE prepared_name prep_type_clause AS PreparableStmt */ #line 9838 "preproc.y" { (yyval.prep).name = (yyvsp[-3].str); (yyval.prep).type = (yyvsp[-2].str); (yyval.prep).stmt = (yyvsp[0].str); } #line 50335 "preproc.c" break; case 1588: /* PrepareStmt: PREPARE prepared_name FROM execstring */ #line 9844 "preproc.y" { (yyval.prep).name = (yyvsp[-2].str); (yyval.prep).type = NULL; (yyval.prep).stmt = (yyvsp[0].str); } #line 50345 "preproc.c" break; case 1589: /* prep_type_clause: '(' type_list ')' */ #line 9854 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 50353 "preproc.c" break; case 1590: /* prep_type_clause: %empty */ #line 9858 "preproc.y" { (yyval.str)=EMPTY; } #line 50360 "preproc.c" break; case 1591: /* PreparableStmt: SelectStmt */ #line 9865 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50368 "preproc.c" break; case 1592: /* PreparableStmt: InsertStmt */ #line 9869 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50376 "preproc.c" break; case 1593: /* PreparableStmt: UpdateStmt */ #line 9873 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50384 "preproc.c" break; case 1594: /* PreparableStmt: DeleteStmt */ #line 9877 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50392 "preproc.c" break; case 1595: /* PreparableStmt: MergeStmt */ #line 9881 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50400 "preproc.c" break; case 1596: /* ExecuteStmt: EXECUTE prepared_name execute_param_clause execute_rest */ #line 9889 "preproc.y" { (yyval.exec).name = (yyvsp[-2].str); (yyval.exec).type = (yyvsp[-1].str); } #line 50409 "preproc.c" break; case 1597: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ #line 9894 "preproc.y" { (yyval.exec).name = cat_str(8,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("table"),(yyvsp[-6].str),mm_strdup("as execute"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str)); } #line 50417 "preproc.c" break; case 1598: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ #line 9898 "preproc.y" { (yyval.exec).name = cat_str(8,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("table if not exists"),(yyvsp[-6].str),mm_strdup("as execute"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str)); } #line 50425 "preproc.c" break; case 1599: /* execute_param_clause: '(' expr_list ')' */ #line 9906 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 50433 "preproc.c" break; case 1600: /* execute_param_clause: %empty */ #line 9910 "preproc.y" { (yyval.str)=EMPTY; } #line 50440 "preproc.c" break; case 1601: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause */ #line 9917 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("insert into"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50448 "preproc.c" break; case 1602: /* insert_target: qualified_name */ #line 9925 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50456 "preproc.c" break; case 1603: /* insert_target: qualified_name AS ColId */ #line 9929 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 50464 "preproc.c" break; case 1604: /* insert_rest: SelectStmt */ #line 9937 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50472 "preproc.c" break; case 1605: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */ #line 9941 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 50480 "preproc.c" break; case 1606: /* insert_rest: '(' insert_column_list ')' SelectStmt */ #line 9945 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50488 "preproc.c" break; case 1607: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */ #line 9949 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("("),(yyvsp[-5].str),mm_strdup(") overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 50496 "preproc.c" break; case 1608: /* insert_rest: DEFAULT VALUES */ #line 9953 "preproc.y" { (yyval.str) = mm_strdup("default values"); } #line 50504 "preproc.c" break; case 1609: /* override_kind: USER */ #line 9961 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 50512 "preproc.c" break; case 1610: /* override_kind: SYSTEM_P */ #line 9965 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 50520 "preproc.c" break; case 1611: /* insert_column_list: insert_column_item */ #line 9973 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50528 "preproc.c" break; case 1612: /* insert_column_list: insert_column_list ',' insert_column_item */ #line 9977 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50536 "preproc.c" break; case 1613: /* insert_column_item: ColId opt_indirection */ #line 9985 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50544 "preproc.c" break; case 1614: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause */ #line 9993 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("on conflict"),(yyvsp[-5].str),mm_strdup("do update set"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50552 "preproc.c" break; case 1615: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */ #line 9997 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("on conflict"),(yyvsp[-2].str),mm_strdup("do nothing")); } #line 50560 "preproc.c" break; case 1616: /* opt_on_conflict: %empty */ #line 10001 "preproc.y" { (yyval.str)=EMPTY; } #line 50567 "preproc.c" break; case 1617: /* opt_conf_expr: '(' index_params ')' where_clause */ #line 10008 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50575 "preproc.c" break; case 1618: /* opt_conf_expr: ON CONSTRAINT name */ #line 10012 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on constraint"),(yyvsp[0].str)); } #line 50583 "preproc.c" break; case 1619: /* opt_conf_expr: %empty */ #line 10016 "preproc.y" { (yyval.str)=EMPTY; } #line 50590 "preproc.c" break; case 1620: /* returning_clause: RETURNING target_list opt_ecpg_into */ #line 10023 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("returning"),(yyvsp[-1].str)); } #line 50598 "preproc.c" break; case 1621: /* returning_clause: %empty */ #line 10027 "preproc.y" { (yyval.str)=EMPTY; } #line 50605 "preproc.c" break; case 1622: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */ #line 10034 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("delete from"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50613 "preproc.c" break; case 1623: /* using_clause: USING from_list */ #line 10042 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } #line 50621 "preproc.c" break; case 1624: /* using_clause: %empty */ #line 10046 "preproc.y" { (yyval.str)=EMPTY; } #line 50628 "preproc.c" break; case 1625: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait */ #line 10053 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("lock"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50636 "preproc.c" break; case 1626: /* opt_lock: IN_P lock_type MODE */ #line 10061 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("in"),(yyvsp[-1].str),mm_strdup("mode")); } #line 50644 "preproc.c" break; case 1627: /* opt_lock: %empty */ #line 10065 "preproc.y" { (yyval.str)=EMPTY; } #line 50651 "preproc.c" break; case 1628: /* lock_type: ACCESS SHARE */ #line 10072 "preproc.y" { (yyval.str) = mm_strdup("access share"); } #line 50659 "preproc.c" break; case 1629: /* lock_type: ROW SHARE */ #line 10076 "preproc.y" { (yyval.str) = mm_strdup("row share"); } #line 50667 "preproc.c" break; case 1630: /* lock_type: ROW EXCLUSIVE */ #line 10080 "preproc.y" { (yyval.str) = mm_strdup("row exclusive"); } #line 50675 "preproc.c" break; case 1631: /* lock_type: SHARE UPDATE EXCLUSIVE */ #line 10084 "preproc.y" { (yyval.str) = mm_strdup("share update exclusive"); } #line 50683 "preproc.c" break; case 1632: /* lock_type: SHARE */ #line 10088 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 50691 "preproc.c" break; case 1633: /* lock_type: SHARE ROW EXCLUSIVE */ #line 10092 "preproc.y" { (yyval.str) = mm_strdup("share row exclusive"); } #line 50699 "preproc.c" break; case 1634: /* lock_type: EXCLUSIVE */ #line 10096 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 50707 "preproc.c" break; case 1635: /* lock_type: ACCESS EXCLUSIVE */ #line 10100 "preproc.y" { (yyval.str) = mm_strdup("access exclusive"); } #line 50715 "preproc.c" break; case 1636: /* opt_nowait: NOWAIT */ #line 10108 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 50723 "preproc.c" break; case 1637: /* opt_nowait: %empty */ #line 10112 "preproc.y" { (yyval.str)=EMPTY; } #line 50730 "preproc.c" break; case 1638: /* opt_nowait_or_skip: NOWAIT */ #line 10119 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 50738 "preproc.c" break; case 1639: /* opt_nowait_or_skip: SKIP LOCKED */ #line 10123 "preproc.y" { (yyval.str) = mm_strdup("skip locked"); } #line 50746 "preproc.c" break; case 1640: /* opt_nowait_or_skip: %empty */ #line 10127 "preproc.y" { (yyval.str)=EMPTY; } #line 50753 "preproc.c" break; case 1641: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause */ #line 10134 "preproc.y" { (yyval.str) = cat_str(8,(yyvsp[-7].str),mm_strdup("update"),(yyvsp[-5].str),mm_strdup("set"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50761 "preproc.c" break; case 1642: /* set_clause_list: set_clause */ #line 10142 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50769 "preproc.c" break; case 1643: /* set_clause_list: set_clause_list ',' set_clause */ #line 10146 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50777 "preproc.c" break; case 1644: /* set_clause: set_target '=' a_expr */ #line 10154 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 50785 "preproc.c" break; case 1645: /* set_clause: '(' set_target_list ')' '=' a_expr */ #line 10158 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-3].str),mm_strdup(") ="),(yyvsp[0].str)); } #line 50793 "preproc.c" break; case 1646: /* set_target: ColId opt_indirection */ #line 10166 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50801 "preproc.c" break; case 1647: /* set_target_list: set_target */ #line 10174 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50809 "preproc.c" break; case 1648: /* set_target_list: set_target_list ',' set_target */ #line 10178 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 50817 "preproc.c" break; case 1649: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list */ #line 10186 "preproc.y" { (yyval.str) = cat_str(8,(yyvsp[-8].str),mm_strdup("merge into"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 50825 "preproc.c" break; case 1650: /* merge_when_list: merge_when_clause */ #line 10194 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 50833 "preproc.c" break; case 1651: /* merge_when_list: merge_when_list merge_when_clause */ #line 10198 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 50841 "preproc.c" break; case 1652: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_update */ #line 10206 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50849 "preproc.c" break; case 1653: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_delete */ #line 10210 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50857 "preproc.c" break; case 1654: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN merge_insert */ #line 10214 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when not matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 50865 "preproc.c" break; case 1655: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN DO NOTHING */ #line 10218 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } #line 50873 "preproc.c" break; case 1656: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN DO NOTHING */ #line 10222 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when not matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } #line 50881 "preproc.c" break; case 1657: /* opt_merge_when_condition: AND a_expr */ #line 10230 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("and"),(yyvsp[0].str)); } #line 50889 "preproc.c" break; case 1658: /* opt_merge_when_condition: %empty */ #line 10234 "preproc.y" { (yyval.str)=EMPTY; } #line 50896 "preproc.c" break; case 1659: /* merge_update: UPDATE SET set_clause_list */ #line 10241 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update set"),(yyvsp[0].str)); } #line 50904 "preproc.c" break; case 1660: /* merge_delete: DELETE_P */ #line 10249 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 50912 "preproc.c" break; case 1661: /* merge_insert: INSERT merge_values_clause */ #line 10257 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("insert"),(yyvsp[0].str)); } #line 50920 "preproc.c" break; case 1662: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause */ #line 10261 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 50928 "preproc.c" break; case 1663: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause */ #line 10265 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 50936 "preproc.c" break; case 1664: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause */ #line 10269 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("insert ("),(yyvsp[-5].str),mm_strdup(") overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 50944 "preproc.c" break; case 1665: /* merge_insert: INSERT DEFAULT VALUES */ #line 10273 "preproc.y" { (yyval.str) = mm_strdup("insert default values"); } #line 50952 "preproc.c" break; case 1666: /* merge_values_clause: VALUES '(' expr_list ')' */ #line 10281 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } #line 50960 "preproc.c" break; case 1667: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt */ #line 10289 "preproc.y" { struct cursor *ptr, *this; char *cursor_marker = (yyvsp[-5].str)[0] == ':' ? mm_strdup("$0") : mm_strdup((yyvsp[-5].str)); char *comment, *c1, *c2; int (* strcmp_fn)(const char *, const char *) = (((yyvsp[-5].str)[0] == ':' || (yyvsp[-5].str)[0] == '"') ? strcmp : pg_strcasecmp); if (INFORMIX_MODE && pg_strcasecmp((yyvsp[-5].str), "database") == 0) mmfatal(PARSE_ERROR, "\"database\" cannot be used as cursor name in INFORMIX mode"); for (ptr = cur; ptr != NULL; ptr = ptr->next) { if (strcmp_fn((yyvsp[-5].str), ptr->name) == 0) { if ((yyvsp[-5].str)[0] == ':') mmerror(PARSE_ERROR, ET_ERROR, "using variable \"%s\" in different declare statements is not supported", (yyvsp[-5].str)+1); else mmerror(PARSE_ERROR, ET_ERROR, "cursor \"%s\" is already defined", (yyvsp[-5].str)); } } this = (struct cursor *) mm_alloc(sizeof(struct cursor)); this->next = cur; this->name = (yyvsp[-5].str); this->function = (current_function ? mm_strdup(current_function) : NULL); this->connection = connection ? mm_strdup(connection) : NULL; this->opened = false; this->command = cat_str(7, mm_strdup("declare"), cursor_marker, (yyvsp[-4].str), mm_strdup("cursor"), (yyvsp[-2].str), mm_strdup("for"), (yyvsp[0].str)); this->argsinsert = argsinsert; this->argsinsert_oos = NULL; this->argsresult = argsresult; this->argsresult_oos = NULL; argsinsert = argsresult = NULL; cur = this; c1 = mm_strdup(this->command); if ((c2 = strstr(c1, "*/")) != NULL) { /* We put this text into a comment, so we better remove [*][/]. */ c2[0] = '.'; c2[1] = '.'; } comment = cat_str(3, mm_strdup("/*"), c1, mm_strdup("*/")); (yyval.str) = cat2_str(adjust_outofscope_cursor_vars(this), comment); } #line 51011 "preproc.c" break; case 1668: /* cursor_name: name */ #line 10340 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51019 "preproc.c" break; case 1669: /* cursor_name: char_civar */ #line 10344 "preproc.y" { char *curname = mm_alloc(strlen((yyvsp[0].str)) + 2); sprintf(curname, ":%s", (yyvsp[0].str)); free((yyvsp[0].str)); (yyvsp[0].str) = curname; (yyval.str) = (yyvsp[0].str); } #line 51031 "preproc.c" break; case 1670: /* cursor_options: %empty */ #line 10356 "preproc.y" { (yyval.str)=EMPTY; } #line 51038 "preproc.c" break; case 1671: /* cursor_options: cursor_options NO SCROLL */ #line 10359 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("no scroll")); } #line 51046 "preproc.c" break; case 1672: /* cursor_options: cursor_options SCROLL */ #line 10363 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("scroll")); } #line 51054 "preproc.c" break; case 1673: /* cursor_options: cursor_options BINARY */ #line 10367 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("binary")); } #line 51062 "preproc.c" break; case 1674: /* cursor_options: cursor_options ASENSITIVE */ #line 10371 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("asensitive")); } #line 51070 "preproc.c" break; case 1675: /* cursor_options: cursor_options INSENSITIVE */ #line 10375 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("insensitive")); } #line 51078 "preproc.c" break; case 1676: /* opt_hold: %empty */ #line 10383 "preproc.y" { if (compat == ECPG_COMPAT_INFORMIX_SE && autocommit) (yyval.str) = mm_strdup("with hold"); else (yyval.str) = EMPTY; } #line 51089 "preproc.c" break; case 1677: /* opt_hold: WITH HOLD */ #line 10390 "preproc.y" { (yyval.str) = mm_strdup("with hold"); } #line 51097 "preproc.c" break; case 1678: /* opt_hold: WITHOUT HOLD */ #line 10394 "preproc.y" { (yyval.str) = mm_strdup("without hold"); } #line 51105 "preproc.c" break; case 1679: /* SelectStmt: select_no_parens */ #line 10402 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51113 "preproc.c" break; case 1680: /* SelectStmt: select_with_parens */ #line 10406 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51121 "preproc.c" break; case 1681: /* select_with_parens: '(' select_no_parens ')' */ #line 10414 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51129 "preproc.c" break; case 1682: /* select_with_parens: '(' select_with_parens ')' */ #line 10418 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 51137 "preproc.c" break; case 1683: /* select_no_parens: simple_select */ #line 10426 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51145 "preproc.c" break; case 1684: /* select_no_parens: select_clause sort_clause */ #line 10430 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51153 "preproc.c" break; case 1685: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */ #line 10434 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51161 "preproc.c" break; case 1686: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */ #line 10438 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51169 "preproc.c" break; case 1687: /* select_no_parens: with_clause select_clause */ #line 10442 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51177 "preproc.c" break; case 1688: /* select_no_parens: with_clause select_clause sort_clause */ #line 10446 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51185 "preproc.c" break; case 1689: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */ #line 10450 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51193 "preproc.c" break; case 1690: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */ #line 10454 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51201 "preproc.c" break; case 1691: /* select_clause: simple_select */ #line 10462 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51209 "preproc.c" break; case 1692: /* select_clause: select_with_parens */ #line 10466 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51217 "preproc.c" break; case 1693: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause */ #line 10474 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("select"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51225 "preproc.c" break; case 1694: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause */ #line 10478 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("select"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51233 "preproc.c" break; case 1695: /* simple_select: values_clause */ #line 10482 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51241 "preproc.c" break; case 1696: /* simple_select: TABLE relation_expr */ #line 10486 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 51249 "preproc.c" break; case 1697: /* simple_select: select_clause UNION set_quantifier select_clause */ #line 10490 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("union"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51257 "preproc.c" break; case 1698: /* simple_select: select_clause INTERSECT set_quantifier select_clause */ #line 10494 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("intersect"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51265 "preproc.c" break; case 1699: /* simple_select: select_clause EXCEPT set_quantifier select_clause */ #line 10498 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("except"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51273 "preproc.c" break; case 1700: /* with_clause: WITH cte_list */ #line 10506 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 51281 "preproc.c" break; case 1701: /* with_clause: WITH_LA cte_list */ #line 10510 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } #line 51289 "preproc.c" break; case 1702: /* with_clause: WITH RECURSIVE cte_list */ #line 10514 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with recursive"),(yyvsp[0].str)); } #line 51297 "preproc.c" break; case 1703: /* cte_list: common_table_expr */ #line 10522 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51305 "preproc.c" break; case 1704: /* cte_list: cte_list ',' common_table_expr */ #line 10526 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51313 "preproc.c" break; case 1705: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause */ #line 10534 "preproc.y" { (yyval.str) = cat_str(9,(yyvsp[-8].str),(yyvsp[-7].str),mm_strdup("as"),(yyvsp[-5].str),mm_strdup("("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51321 "preproc.c" break; case 1706: /* opt_materialized: MATERIALIZED */ #line 10542 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 51329 "preproc.c" break; case 1707: /* opt_materialized: NOT MATERIALIZED */ #line 10546 "preproc.y" { (yyval.str) = mm_strdup("not materialized"); } #line 51337 "preproc.c" break; case 1708: /* opt_materialized: %empty */ #line 10550 "preproc.y" { (yyval.str)=EMPTY; } #line 51344 "preproc.c" break; case 1709: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId */ #line 10557 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search depth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 51352 "preproc.c" break; case 1710: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId */ #line 10561 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search breadth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } #line 51360 "preproc.c" break; case 1711: /* opt_search_clause: %empty */ #line 10565 "preproc.y" { (yyval.str)=EMPTY; } #line 51367 "preproc.c" break; case 1712: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId */ #line 10572 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("cycle"),(yyvsp[-8].str),mm_strdup("set"),(yyvsp[-6].str),mm_strdup("to"),(yyvsp[-4].str),mm_strdup("default"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 51375 "preproc.c" break; case 1713: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId */ #line 10576 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("cycle"),(yyvsp[-4].str),mm_strdup("set"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } #line 51383 "preproc.c" break; case 1714: /* opt_cycle_clause: %empty */ #line 10580 "preproc.y" { (yyval.str)=EMPTY; } #line 51390 "preproc.c" break; case 1715: /* opt_with_clause: with_clause */ #line 10587 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51398 "preproc.c" break; case 1716: /* opt_with_clause: %empty */ #line 10591 "preproc.y" { (yyval.str)=EMPTY; } #line 51405 "preproc.c" break; case 1717: /* into_clause: INTO OptTempTableName */ #line 10598 "preproc.y" { FoundInto = 1; (yyval.str)= cat2_str(mm_strdup("into"), (yyvsp[0].str)); } #line 51414 "preproc.c" break; case 1718: /* into_clause: ecpg_into */ #line 10602 "preproc.y" { (yyval.str) = EMPTY; } #line 51420 "preproc.c" break; case 1719: /* into_clause: %empty */ #line 10604 "preproc.y" { (yyval.str)=EMPTY; } #line 51427 "preproc.c" break; case 1720: /* OptTempTableName: TEMPORARY opt_table qualified_name */ #line 10611 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51435 "preproc.c" break; case 1721: /* OptTempTableName: TEMP opt_table qualified_name */ #line 10615 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51443 "preproc.c" break; case 1722: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */ #line 10619 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51451 "preproc.c" break; case 1723: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */ #line 10623 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51459 "preproc.c" break; case 1724: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */ #line 10627 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51467 "preproc.c" break; case 1725: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */ #line 10631 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temp"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51475 "preproc.c" break; case 1726: /* OptTempTableName: UNLOGGED opt_table qualified_name */ #line 10635 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unlogged"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51483 "preproc.c" break; case 1727: /* OptTempTableName: TABLE qualified_name */ #line 10639 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } #line 51491 "preproc.c" break; case 1728: /* OptTempTableName: qualified_name */ #line 10643 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51499 "preproc.c" break; case 1729: /* opt_table: TABLE */ #line 10651 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 51507 "preproc.c" break; case 1730: /* opt_table: %empty */ #line 10655 "preproc.y" { (yyval.str)=EMPTY; } #line 51514 "preproc.c" break; case 1731: /* set_quantifier: ALL */ #line 10662 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 51522 "preproc.c" break; case 1732: /* set_quantifier: DISTINCT */ #line 10666 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 51530 "preproc.c" break; case 1733: /* set_quantifier: %empty */ #line 10670 "preproc.y" { (yyval.str)=EMPTY; } #line 51537 "preproc.c" break; case 1734: /* distinct_clause: DISTINCT */ #line 10677 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 51545 "preproc.c" break; case 1735: /* distinct_clause: DISTINCT ON '(' expr_list ')' */ #line 10681 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("distinct on ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51553 "preproc.c" break; case 1736: /* opt_all_clause: ALL */ #line 10689 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 51561 "preproc.c" break; case 1737: /* opt_all_clause: %empty */ #line 10693 "preproc.y" { (yyval.str)=EMPTY; } #line 51568 "preproc.c" break; case 1738: /* opt_sort_clause: sort_clause */ #line 10700 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51576 "preproc.c" break; case 1739: /* opt_sort_clause: %empty */ #line 10704 "preproc.y" { (yyval.str)=EMPTY; } #line 51583 "preproc.c" break; case 1740: /* sort_clause: ORDER BY sortby_list */ #line 10711 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("order by"),(yyvsp[0].str)); } #line 51591 "preproc.c" break; case 1741: /* sortby_list: sortby */ #line 10719 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51599 "preproc.c" break; case 1742: /* sortby_list: sortby_list ',' sortby */ #line 10723 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51607 "preproc.c" break; case 1743: /* sortby: a_expr USING qual_all_Op opt_nulls_order */ #line 10731 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51615 "preproc.c" break; case 1744: /* sortby: a_expr opt_asc_desc opt_nulls_order */ #line 10735 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51623 "preproc.c" break; case 1745: /* select_limit: limit_clause offset_clause */ #line 10743 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51631 "preproc.c" break; case 1746: /* select_limit: offset_clause limit_clause */ #line 10747 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51639 "preproc.c" break; case 1747: /* select_limit: limit_clause */ #line 10751 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51647 "preproc.c" break; case 1748: /* select_limit: offset_clause */ #line 10755 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51655 "preproc.c" break; case 1749: /* opt_select_limit: select_limit */ #line 10763 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51663 "preproc.c" break; case 1750: /* opt_select_limit: %empty */ #line 10767 "preproc.y" { (yyval.str)=EMPTY; } #line 51670 "preproc.c" break; case 1751: /* limit_clause: LIMIT select_limit_value */ #line 10774 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("limit"),(yyvsp[0].str)); } #line 51678 "preproc.c" break; case 1752: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */ #line 10778 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "no longer supported LIMIT #,# syntax passed to server"); (yyval.str) = cat_str(4, mm_strdup("limit"), (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 51687 "preproc.c" break; case 1753: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */ #line 10783 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } #line 51695 "preproc.c" break; case 1754: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES */ #line 10787 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } #line 51703 "preproc.c" break; case 1755: /* limit_clause: FETCH first_or_next row_or_rows ONLY */ #line 10791 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } #line 51711 "preproc.c" break; case 1756: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES */ #line 10795 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } #line 51719 "preproc.c" break; case 1757: /* offset_clause: OFFSET select_offset_value */ #line 10803 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("offset"),(yyvsp[0].str)); } #line 51727 "preproc.c" break; case 1758: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */ #line 10807 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("offset"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51735 "preproc.c" break; case 1759: /* select_limit_value: a_expr */ #line 10815 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51743 "preproc.c" break; case 1760: /* select_limit_value: ALL */ #line 10819 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 51751 "preproc.c" break; case 1761: /* select_offset_value: a_expr */ #line 10827 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51759 "preproc.c" break; case 1762: /* select_fetch_first_value: c_expr */ #line 10835 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51767 "preproc.c" break; case 1763: /* select_fetch_first_value: '+' I_or_F_const */ #line 10839 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 51775 "preproc.c" break; case 1764: /* select_fetch_first_value: '-' I_or_F_const */ #line 10843 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 51783 "preproc.c" break; case 1765: /* I_or_F_const: Iconst */ #line 10851 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51791 "preproc.c" break; case 1766: /* I_or_F_const: ecpg_fconst */ #line 10855 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51799 "preproc.c" break; case 1767: /* row_or_rows: ROW */ #line 10863 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 51807 "preproc.c" break; case 1768: /* row_or_rows: ROWS */ #line 10867 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 51815 "preproc.c" break; case 1769: /* first_or_next: FIRST_P */ #line 10875 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 51823 "preproc.c" break; case 1770: /* first_or_next: NEXT */ #line 10879 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 51831 "preproc.c" break; case 1771: /* group_clause: GROUP_P BY set_quantifier group_by_list */ #line 10887 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("group by"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 51839 "preproc.c" break; case 1772: /* group_clause: %empty */ #line 10891 "preproc.y" { (yyval.str)=EMPTY; } #line 51846 "preproc.c" break; case 1773: /* group_by_list: group_by_item */ #line 10898 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51854 "preproc.c" break; case 1774: /* group_by_list: group_by_list ',' group_by_item */ #line 10902 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 51862 "preproc.c" break; case 1775: /* group_by_item: a_expr */ #line 10910 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51870 "preproc.c" break; case 1776: /* group_by_item: empty_grouping_set */ #line 10914 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51878 "preproc.c" break; case 1777: /* group_by_item: cube_clause */ #line 10918 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51886 "preproc.c" break; case 1778: /* group_by_item: rollup_clause */ #line 10922 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51894 "preproc.c" break; case 1779: /* group_by_item: grouping_sets_clause */ #line 10926 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51902 "preproc.c" break; case 1780: /* empty_grouping_set: '(' ')' */ #line 10934 "preproc.y" { (yyval.str) = mm_strdup("( )"); } #line 51910 "preproc.c" break; case 1781: /* rollup_clause: ROLLUP '(' expr_list ')' */ #line 10942 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollup ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51918 "preproc.c" break; case 1782: /* cube_clause: CUBE '(' expr_list ')' */ #line 10950 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("cube ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51926 "preproc.c" break; case 1783: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')' */ #line 10958 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping sets ("),(yyvsp[-1].str),mm_strdup(")")); } #line 51934 "preproc.c" break; case 1784: /* having_clause: HAVING a_expr */ #line 10966 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("having"),(yyvsp[0].str)); } #line 51942 "preproc.c" break; case 1785: /* having_clause: %empty */ #line 10970 "preproc.y" { (yyval.str)=EMPTY; } #line 51949 "preproc.c" break; case 1786: /* for_locking_clause: for_locking_items */ #line 10977 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51957 "preproc.c" break; case 1787: /* for_locking_clause: FOR READ ONLY */ #line 10981 "preproc.y" { (yyval.str) = mm_strdup("for read only"); } #line 51965 "preproc.c" break; case 1788: /* opt_for_locking_clause: for_locking_clause */ #line 10989 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51973 "preproc.c" break; case 1789: /* opt_for_locking_clause: %empty */ #line 10993 "preproc.y" { (yyval.str)=EMPTY; } #line 51980 "preproc.c" break; case 1790: /* for_locking_items: for_locking_item */ #line 11000 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 51988 "preproc.c" break; case 1791: /* for_locking_items: for_locking_items for_locking_item */ #line 11004 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 51996 "preproc.c" break; case 1792: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */ #line 11012 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52004 "preproc.c" break; case 1793: /* for_locking_strength: FOR UPDATE */ #line 11020 "preproc.y" { (yyval.str) = mm_strdup("for update"); } #line 52012 "preproc.c" break; case 1794: /* for_locking_strength: FOR NO KEY UPDATE */ #line 11024 "preproc.y" { (yyval.str) = mm_strdup("for no key update"); } #line 52020 "preproc.c" break; case 1795: /* for_locking_strength: FOR SHARE */ #line 11028 "preproc.y" { (yyval.str) = mm_strdup("for share"); } #line 52028 "preproc.c" break; case 1796: /* for_locking_strength: FOR KEY SHARE */ #line 11032 "preproc.y" { (yyval.str) = mm_strdup("for key share"); } #line 52036 "preproc.c" break; case 1797: /* locked_rels_list: OF qualified_name_list */ #line 11040 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } #line 52044 "preproc.c" break; case 1798: /* locked_rels_list: %empty */ #line 11044 "preproc.y" { (yyval.str)=EMPTY; } #line 52051 "preproc.c" break; case 1799: /* values_clause: VALUES '(' expr_list ')' */ #line 11051 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52059 "preproc.c" break; case 1800: /* values_clause: values_clause ',' '(' expr_list ')' */ #line 11055 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup(", ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52067 "preproc.c" break; case 1801: /* from_clause: FROM from_list */ #line 11063 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 52075 "preproc.c" break; case 1802: /* from_clause: %empty */ #line 11067 "preproc.y" { (yyval.str)=EMPTY; } #line 52082 "preproc.c" break; case 1803: /* from_list: table_ref */ #line 11074 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52090 "preproc.c" break; case 1804: /* from_list: from_list ',' table_ref */ #line 11078 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52098 "preproc.c" break; case 1805: /* table_ref: relation_expr opt_alias_clause */ #line 11086 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52106 "preproc.c" break; case 1806: /* table_ref: relation_expr opt_alias_clause tablesample_clause */ #line 11090 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52114 "preproc.c" break; case 1807: /* table_ref: func_table func_alias_clause */ #line 11094 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52122 "preproc.c" break; case 1808: /* table_ref: LATERAL_P func_table func_alias_clause */ #line 11098 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52130 "preproc.c" break; case 1809: /* table_ref: xmltable opt_alias_clause */ #line 11102 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52138 "preproc.c" break; case 1810: /* table_ref: LATERAL_P xmltable opt_alias_clause */ #line 11106 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52146 "preproc.c" break; case 1811: /* table_ref: select_with_parens opt_alias_clause */ #line 11110 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52154 "preproc.c" break; case 1812: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */ #line 11114 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52162 "preproc.c" break; case 1813: /* table_ref: joined_table */ #line 11118 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52170 "preproc.c" break; case 1814: /* table_ref: '(' joined_table ')' alias_clause */ #line 11122 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52178 "preproc.c" break; case 1815: /* joined_table: '(' joined_table ')' */ #line 11130 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52186 "preproc.c" break; case 1816: /* joined_table: table_ref CROSS JOIN table_ref */ #line 11134 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("cross join"),(yyvsp[0].str)); } #line 52194 "preproc.c" break; case 1817: /* joined_table: table_ref join_type JOIN table_ref join_qual */ #line 11138 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52202 "preproc.c" break; case 1818: /* joined_table: table_ref JOIN table_ref join_qual */ #line 11142 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52210 "preproc.c" break; case 1819: /* joined_table: table_ref NATURAL join_type JOIN table_ref */ #line 11146 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("natural"),(yyvsp[-2].str),mm_strdup("join"),(yyvsp[0].str)); } #line 52218 "preproc.c" break; case 1820: /* joined_table: table_ref NATURAL JOIN table_ref */ #line 11150 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("natural join"),(yyvsp[0].str)); } #line 52226 "preproc.c" break; case 1821: /* alias_clause: AS ColId '(' name_list ')' */ #line 11158 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52234 "preproc.c" break; case 1822: /* alias_clause: AS ColId */ #line 11162 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 52242 "preproc.c" break; case 1823: /* alias_clause: ColId '(' name_list ')' */ #line 11166 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52250 "preproc.c" break; case 1824: /* alias_clause: ColId */ #line 11170 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52258 "preproc.c" break; case 1825: /* opt_alias_clause: alias_clause */ #line 11178 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52266 "preproc.c" break; case 1826: /* opt_alias_clause: %empty */ #line 11182 "preproc.y" { (yyval.str)=EMPTY; } #line 52273 "preproc.c" break; case 1827: /* opt_alias_clause_for_join_using: AS ColId */ #line 11189 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } #line 52281 "preproc.c" break; case 1828: /* opt_alias_clause_for_join_using: %empty */ #line 11193 "preproc.y" { (yyval.str)=EMPTY; } #line 52288 "preproc.c" break; case 1829: /* func_alias_clause: alias_clause */ #line 11200 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52296 "preproc.c" break; case 1830: /* func_alias_clause: AS '(' TableFuncElementList ')' */ #line 11204 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52304 "preproc.c" break; case 1831: /* func_alias_clause: AS ColId '(' TableFuncElementList ')' */ #line 11208 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52312 "preproc.c" break; case 1832: /* func_alias_clause: ColId '(' TableFuncElementList ')' */ #line 11212 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52320 "preproc.c" break; case 1833: /* func_alias_clause: %empty */ #line 11216 "preproc.y" { (yyval.str)=EMPTY; } #line 52327 "preproc.c" break; case 1834: /* join_type: FULL opt_outer */ #line 11223 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("full"),(yyvsp[0].str)); } #line 52335 "preproc.c" break; case 1835: /* join_type: LEFT opt_outer */ #line 11227 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("left"),(yyvsp[0].str)); } #line 52343 "preproc.c" break; case 1836: /* join_type: RIGHT opt_outer */ #line 11231 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("right"),(yyvsp[0].str)); } #line 52351 "preproc.c" break; case 1837: /* join_type: INNER_P */ #line 11235 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 52359 "preproc.c" break; case 1838: /* opt_outer: OUTER_P */ #line 11243 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 52367 "preproc.c" break; case 1839: /* opt_outer: %empty */ #line 11247 "preproc.y" { (yyval.str)=EMPTY; } #line 52374 "preproc.c" break; case 1840: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using */ #line 11254 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("using ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52382 "preproc.c" break; case 1841: /* join_qual: ON a_expr */ #line 11258 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on"),(yyvsp[0].str)); } #line 52390 "preproc.c" break; case 1842: /* relation_expr: qualified_name */ #line 11266 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52398 "preproc.c" break; case 1843: /* relation_expr: extended_relation_expr */ #line 11270 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52406 "preproc.c" break; case 1844: /* extended_relation_expr: qualified_name '*' */ #line 11278 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("*")); } #line 52414 "preproc.c" break; case 1845: /* extended_relation_expr: ONLY qualified_name */ #line 11282 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("only"),(yyvsp[0].str)); } #line 52422 "preproc.c" break; case 1846: /* extended_relation_expr: ONLY '(' qualified_name ')' */ #line 11286 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("only ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52430 "preproc.c" break; case 1847: /* relation_expr_list: relation_expr */ #line 11294 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52438 "preproc.c" break; case 1848: /* relation_expr_list: relation_expr_list ',' relation_expr */ #line 11298 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52446 "preproc.c" break; case 1849: /* relation_expr_opt_alias: relation_expr */ #line 11306 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52454 "preproc.c" break; case 1850: /* relation_expr_opt_alias: relation_expr ColId */ #line 11310 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52462 "preproc.c" break; case 1851: /* relation_expr_opt_alias: relation_expr AS ColId */ #line 11314 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 52470 "preproc.c" break; case 1852: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause */ #line 11322 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("tablesample"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52478 "preproc.c" break; case 1853: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')' */ #line 11330 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("repeatable ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52486 "preproc.c" break; case 1854: /* opt_repeatable_clause: %empty */ #line 11334 "preproc.y" { (yyval.str)=EMPTY; } #line 52493 "preproc.c" break; case 1855: /* func_table: func_expr_windowless opt_ordinality */ #line 11341 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52501 "preproc.c" break; case 1856: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */ #line 11345 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rows from ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 52509 "preproc.c" break; case 1857: /* rowsfrom_item: func_expr_windowless opt_col_def_list */ #line 11353 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52517 "preproc.c" break; case 1858: /* rowsfrom_list: rowsfrom_item */ #line 11361 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52525 "preproc.c" break; case 1859: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */ #line 11365 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52533 "preproc.c" break; case 1860: /* opt_col_def_list: AS '(' TableFuncElementList ')' */ #line 11373 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } #line 52541 "preproc.c" break; case 1861: /* opt_col_def_list: %empty */ #line 11377 "preproc.y" { (yyval.str)=EMPTY; } #line 52548 "preproc.c" break; case 1862: /* opt_ordinality: WITH_LA ORDINALITY */ #line 11384 "preproc.y" { (yyval.str) = mm_strdup("with ordinality"); } #line 52556 "preproc.c" break; case 1863: /* opt_ordinality: %empty */ #line 11388 "preproc.y" { (yyval.str)=EMPTY; } #line 52563 "preproc.c" break; case 1864: /* where_clause: WHERE a_expr */ #line 11395 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } #line 52571 "preproc.c" break; case 1865: /* where_clause: %empty */ #line 11399 "preproc.y" { (yyval.str)=EMPTY; } #line 52578 "preproc.c" break; case 1866: /* where_or_current_clause: WHERE a_expr */ #line 11406 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } #line 52586 "preproc.c" break; case 1867: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name */ #line 11410 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); (yyval.str) = cat_str(2,mm_strdup("where current of"), cursor_marker); } #line 52595 "preproc.c" break; case 1868: /* where_or_current_clause: %empty */ #line 11415 "preproc.y" { (yyval.str)=EMPTY; } #line 52602 "preproc.c" break; case 1869: /* OptTableFuncElementList: TableFuncElementList */ #line 11422 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52610 "preproc.c" break; case 1870: /* OptTableFuncElementList: %empty */ #line 11426 "preproc.y" { (yyval.str)=EMPTY; } #line 52617 "preproc.c" break; case 1871: /* TableFuncElementList: TableFuncElement */ #line 11433 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52625 "preproc.c" break; case 1872: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */ #line 11437 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52633 "preproc.c" break; case 1873: /* TableFuncElement: ColId Typename opt_collate_clause */ #line 11445 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52641 "preproc.c" break; case 1874: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ #line 11453 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmltable ("),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("columns"),(yyvsp[-1].str),mm_strdup(")")); } #line 52649 "preproc.c" break; case 1875: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ #line 11457 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("xmltable ( xmlnamespaces ("),(yyvsp[-7].str),mm_strdup(") ,"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("columns"),(yyvsp[-1].str),mm_strdup(")")); } #line 52657 "preproc.c" break; case 1876: /* xmltable_column_list: xmltable_column_el */ #line 11465 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52665 "preproc.c" break; case 1877: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el */ #line 11469 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52673 "preproc.c" break; case 1878: /* xmltable_column_el: ColId Typename */ #line 11477 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52681 "preproc.c" break; case 1879: /* xmltable_column_el: ColId Typename xmltable_column_option_list */ #line 11481 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52689 "preproc.c" break; case 1880: /* xmltable_column_el: ColId FOR ORDINALITY */ #line 11485 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("for ordinality")); } #line 52697 "preproc.c" break; case 1881: /* xmltable_column_option_list: xmltable_column_option_el */ #line 11493 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52705 "preproc.c" break; case 1882: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el */ #line 11497 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52713 "preproc.c" break; case 1883: /* xmltable_column_option_el: ecpg_ident b_expr */ #line 11505 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52721 "preproc.c" break; case 1884: /* xmltable_column_option_el: DEFAULT b_expr */ #line 11509 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 52729 "preproc.c" break; case 1885: /* xmltable_column_option_el: NOT NULL_P */ #line 11513 "preproc.y" { (yyval.str) = mm_strdup("not null"); } #line 52737 "preproc.c" break; case 1886: /* xmltable_column_option_el: NULL_P */ #line 11517 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 52745 "preproc.c" break; case 1887: /* xml_namespace_list: xml_namespace_el */ #line 11525 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52753 "preproc.c" break; case 1888: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el */ #line 11529 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 52761 "preproc.c" break; case 1889: /* xml_namespace_el: b_expr AS ColLabel */ #line 11537 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 52769 "preproc.c" break; case 1890: /* xml_namespace_el: DEFAULT b_expr */ #line 11541 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } #line 52777 "preproc.c" break; case 1891: /* Typename: SimpleTypename opt_array_bounds */ #line 11549 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].index).str); } #line 52783 "preproc.c" break; case 1892: /* Typename: SETOF SimpleTypename opt_array_bounds */ #line 11551 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("setof"), (yyvsp[-1].str), (yyvsp[0].index).str); } #line 52789 "preproc.c" break; case 1893: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */ #line 11553 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } #line 52797 "preproc.c" break; case 1894: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */ #line 11557 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("setof"),(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } #line 52805 "preproc.c" break; case 1895: /* Typename: SimpleTypename ARRAY */ #line 11561 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("array")); } #line 52813 "preproc.c" break; case 1896: /* Typename: SETOF SimpleTypename ARRAY */ #line 11565 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("setof"),(yyvsp[-1].str),mm_strdup("array")); } #line 52821 "preproc.c" break; case 1897: /* opt_array_bounds: opt_array_bounds '[' ']' */ #line 11573 "preproc.y" { (yyval.index).index1 = (yyvsp[-2].index).index1; (yyval.index).index2 = (yyvsp[-2].index).index2; if (strcmp((yyval.index).index1, "-1") == 0) (yyval.index).index1 = mm_strdup("0"); else if (strcmp((yyvsp[-2].index).index2, "-1") == 0) (yyval.index).index2 = mm_strdup("0"); (yyval.index).str = cat_str(2, (yyvsp[-2].index).str, mm_strdup("[]")); } #line 52835 "preproc.c" break; case 1898: /* opt_array_bounds: opt_array_bounds '[' Iresult ']' */ #line 11583 "preproc.y" { (yyval.index).index1 = (yyvsp[-3].index).index1; (yyval.index).index2 = (yyvsp[-3].index).index2; if (strcmp((yyvsp[-3].index).index1, "-1") == 0) (yyval.index).index1 = mm_strdup((yyvsp[-1].str)); else if (strcmp((yyvsp[-3].index).index2, "-1") == 0) (yyval.index).index2 = mm_strdup((yyvsp[-1].str)); (yyval.index).str = cat_str(4, (yyvsp[-3].index).str, mm_strdup("["), (yyvsp[-1].str), mm_strdup("]")); } #line 52849 "preproc.c" break; case 1899: /* opt_array_bounds: %empty */ #line 11593 "preproc.y" { (yyval.index).index1 = mm_strdup("-1"); (yyval.index).index2 = mm_strdup("-1"); (yyval.index).str= EMPTY; } #line 52859 "preproc.c" break; case 1900: /* SimpleTypename: GenericType */ #line 11603 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52867 "preproc.c" break; case 1901: /* SimpleTypename: Numeric */ #line 11607 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52875 "preproc.c" break; case 1902: /* SimpleTypename: Bit */ #line 11611 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52883 "preproc.c" break; case 1903: /* SimpleTypename: Character */ #line 11615 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52891 "preproc.c" break; case 1904: /* SimpleTypename: ConstDatetime */ #line 11619 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52899 "preproc.c" break; case 1905: /* SimpleTypename: ConstInterval opt_interval */ #line 11623 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52907 "preproc.c" break; case 1906: /* SimpleTypename: ConstInterval '(' Iconst ')' */ #line 11627 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52915 "preproc.c" break; case 1907: /* ConstTypename: Numeric */ #line 11635 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52923 "preproc.c" break; case 1908: /* ConstTypename: ConstBit */ #line 11639 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52931 "preproc.c" break; case 1909: /* ConstTypename: ConstCharacter */ #line 11643 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52939 "preproc.c" break; case 1910: /* ConstTypename: ConstDatetime */ #line 11647 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 52947 "preproc.c" break; case 1911: /* GenericType: type_function_name opt_type_modifiers */ #line 11655 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 52955 "preproc.c" break; case 1912: /* GenericType: type_function_name attrs opt_type_modifiers */ #line 11659 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 52963 "preproc.c" break; case 1913: /* opt_type_modifiers: '(' expr_list ')' */ #line 11667 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 52971 "preproc.c" break; case 1914: /* opt_type_modifiers: %empty */ #line 11671 "preproc.y" { (yyval.str)=EMPTY; } #line 52978 "preproc.c" break; case 1915: /* Numeric: INT_P */ #line 11678 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 52986 "preproc.c" break; case 1916: /* Numeric: INTEGER */ #line 11682 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 52994 "preproc.c" break; case 1917: /* Numeric: SMALLINT */ #line 11686 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 53002 "preproc.c" break; case 1918: /* Numeric: BIGINT */ #line 11690 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 53010 "preproc.c" break; case 1919: /* Numeric: REAL */ #line 11694 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 53018 "preproc.c" break; case 1920: /* Numeric: FLOAT_P opt_float */ #line 11698 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("float"),(yyvsp[0].str)); } #line 53026 "preproc.c" break; case 1921: /* Numeric: DOUBLE_P PRECISION */ #line 11702 "preproc.y" { (yyval.str) = mm_strdup("double precision"); } #line 53034 "preproc.c" break; case 1922: /* Numeric: DECIMAL_P opt_type_modifiers */ #line 11706 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("decimal"),(yyvsp[0].str)); } #line 53042 "preproc.c" break; case 1923: /* Numeric: DEC opt_type_modifiers */ #line 11710 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("dec"),(yyvsp[0].str)); } #line 53050 "preproc.c" break; case 1924: /* Numeric: NUMERIC opt_type_modifiers */ #line 11714 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("numeric"),(yyvsp[0].str)); } #line 53058 "preproc.c" break; case 1925: /* Numeric: BOOLEAN_P */ #line 11718 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 53066 "preproc.c" break; case 1926: /* opt_float: '(' Iconst ')' */ #line 11726 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 53074 "preproc.c" break; case 1927: /* opt_float: %empty */ #line 11730 "preproc.y" { (yyval.str)=EMPTY; } #line 53081 "preproc.c" break; case 1928: /* Bit: BitWithLength */ #line 11737 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53089 "preproc.c" break; case 1929: /* Bit: BitWithoutLength */ #line 11741 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53097 "preproc.c" break; case 1930: /* ConstBit: BitWithLength */ #line 11749 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53105 "preproc.c" break; case 1931: /* ConstBit: BitWithoutLength */ #line 11753 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53113 "preproc.c" break; case 1932: /* BitWithLength: BIT opt_varying '(' expr_list ')' */ #line 11761 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("bit"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 53121 "preproc.c" break; case 1933: /* BitWithoutLength: BIT opt_varying */ #line 11769 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("bit"),(yyvsp[0].str)); } #line 53129 "preproc.c" break; case 1934: /* Character: CharacterWithLength */ #line 11777 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53137 "preproc.c" break; case 1935: /* Character: CharacterWithoutLength */ #line 11781 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53145 "preproc.c" break; case 1936: /* ConstCharacter: CharacterWithLength */ #line 11789 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53153 "preproc.c" break; case 1937: /* ConstCharacter: CharacterWithoutLength */ #line 11793 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53161 "preproc.c" break; case 1938: /* CharacterWithLength: character '(' Iconst ')' */ #line 11801 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 53169 "preproc.c" break; case 1939: /* CharacterWithoutLength: character */ #line 11809 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53177 "preproc.c" break; case 1940: /* character: CHARACTER opt_varying */ #line 11817 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("character"),(yyvsp[0].str)); } #line 53185 "preproc.c" break; case 1941: /* character: CHAR_P opt_varying */ #line 11821 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("char"),(yyvsp[0].str)); } #line 53193 "preproc.c" break; case 1942: /* character: VARCHAR */ #line 11825 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 53201 "preproc.c" break; case 1943: /* character: NATIONAL CHARACTER opt_varying */ #line 11829 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national character"),(yyvsp[0].str)); } #line 53209 "preproc.c" break; case 1944: /* character: NATIONAL CHAR_P opt_varying */ #line 11833 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national char"),(yyvsp[0].str)); } #line 53217 "preproc.c" break; case 1945: /* character: NCHAR opt_varying */ #line 11837 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("nchar"),(yyvsp[0].str)); } #line 53225 "preproc.c" break; case 1946: /* opt_varying: VARYING */ #line 11845 "preproc.y" { (yyval.str) = mm_strdup("varying"); } #line 53233 "preproc.c" break; case 1947: /* opt_varying: %empty */ #line 11849 "preproc.y" { (yyval.str)=EMPTY; } #line 53240 "preproc.c" break; case 1948: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */ #line 11856 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("timestamp ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 53248 "preproc.c" break; case 1949: /* ConstDatetime: TIMESTAMP opt_timezone */ #line 11860 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("timestamp"),(yyvsp[0].str)); } #line 53256 "preproc.c" break; case 1950: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */ #line 11864 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("time ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 53264 "preproc.c" break; case 1951: /* ConstDatetime: TIME opt_timezone */ #line 11868 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time"),(yyvsp[0].str)); } #line 53272 "preproc.c" break; case 1952: /* ConstInterval: INTERVAL */ #line 11876 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 53280 "preproc.c" break; case 1953: /* opt_timezone: WITH_LA TIME ZONE */ #line 11884 "preproc.y" { (yyval.str) = mm_strdup("with time zone"); } #line 53288 "preproc.c" break; case 1954: /* opt_timezone: WITHOUT_LA TIME ZONE */ #line 11888 "preproc.y" { (yyval.str) = mm_strdup("without time zone"); } #line 53296 "preproc.c" break; case 1955: /* opt_timezone: %empty */ #line 11892 "preproc.y" { (yyval.str)=EMPTY; } #line 53303 "preproc.c" break; case 1956: /* opt_interval: YEAR_P */ #line 11899 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 53311 "preproc.c" break; case 1957: /* opt_interval: MONTH_P */ #line 11903 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 53319 "preproc.c" break; case 1958: /* opt_interval: DAY_P */ #line 11907 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 53327 "preproc.c" break; case 1959: /* opt_interval: HOUR_P */ #line 11911 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 53335 "preproc.c" break; case 1960: /* opt_interval: MINUTE_P */ #line 11915 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 53343 "preproc.c" break; case 1961: /* opt_interval: interval_second */ #line 11919 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53351 "preproc.c" break; case 1962: /* opt_interval: YEAR_P TO MONTH_P */ #line 11923 "preproc.y" { (yyval.str) = mm_strdup("year to month"); } #line 53359 "preproc.c" break; case 1963: /* opt_interval: DAY_P TO HOUR_P */ #line 11927 "preproc.y" { (yyval.str) = mm_strdup("day to hour"); } #line 53367 "preproc.c" break; case 1964: /* opt_interval: DAY_P TO MINUTE_P */ #line 11931 "preproc.y" { (yyval.str) = mm_strdup("day to minute"); } #line 53375 "preproc.c" break; case 1965: /* opt_interval: DAY_P TO interval_second */ #line 11935 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("day to"),(yyvsp[0].str)); } #line 53383 "preproc.c" break; case 1966: /* opt_interval: HOUR_P TO MINUTE_P */ #line 11939 "preproc.y" { (yyval.str) = mm_strdup("hour to minute"); } #line 53391 "preproc.c" break; case 1967: /* opt_interval: HOUR_P TO interval_second */ #line 11943 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("hour to"),(yyvsp[0].str)); } #line 53399 "preproc.c" break; case 1968: /* opt_interval: MINUTE_P TO interval_second */ #line 11947 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minute to"),(yyvsp[0].str)); } #line 53407 "preproc.c" break; case 1969: /* opt_interval: %empty */ #line 11951 "preproc.y" { (yyval.str)=EMPTY; } #line 53414 "preproc.c" break; case 1970: /* interval_second: SECOND_P */ #line 11958 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 53422 "preproc.c" break; case 1971: /* interval_second: SECOND_P '(' Iconst ')' */ #line 11962 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("second ("),(yyvsp[-1].str),mm_strdup(")")); } #line 53430 "preproc.c" break; case 1972: /* a_expr: c_expr */ #line 11970 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53438 "preproc.c" break; case 1973: /* a_expr: a_expr TYPECAST Typename */ #line 11974 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } #line 53446 "preproc.c" break; case 1974: /* a_expr: a_expr COLLATE any_name */ #line 11978 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("collate"),(yyvsp[0].str)); } #line 53454 "preproc.c" break; case 1975: /* a_expr: a_expr AT TIME ZONE a_expr */ #line 11982 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("at time zone"),(yyvsp[0].str)); } #line 53462 "preproc.c" break; case 1976: /* a_expr: '+' a_expr */ #line 11986 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 53470 "preproc.c" break; case 1977: /* a_expr: '-' a_expr */ #line 11990 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 53478 "preproc.c" break; case 1978: /* a_expr: a_expr '+' a_expr */ #line 11994 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } #line 53486 "preproc.c" break; case 1979: /* a_expr: a_expr '-' a_expr */ #line 11998 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } #line 53494 "preproc.c" break; case 1980: /* a_expr: a_expr '*' a_expr */ #line 12002 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } #line 53502 "preproc.c" break; case 1981: /* a_expr: a_expr '/' a_expr */ #line 12006 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } #line 53510 "preproc.c" break; case 1982: /* a_expr: a_expr '%' a_expr */ #line 12010 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } #line 53518 "preproc.c" break; case 1983: /* a_expr: a_expr '^' a_expr */ #line 12014 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } #line 53526 "preproc.c" break; case 1984: /* a_expr: a_expr '<' a_expr */ #line 12018 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } #line 53534 "preproc.c" break; case 1985: /* a_expr: a_expr '>' a_expr */ #line 12022 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } #line 53542 "preproc.c" break; case 1986: /* a_expr: a_expr '=' a_expr */ #line 12026 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 53550 "preproc.c" break; case 1987: /* a_expr: a_expr LESS_EQUALS a_expr */ #line 12030 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } #line 53558 "preproc.c" break; case 1988: /* a_expr: a_expr GREATER_EQUALS a_expr */ #line 12034 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } #line 53566 "preproc.c" break; case 1989: /* a_expr: a_expr NOT_EQUALS a_expr */ #line 12038 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } #line 53574 "preproc.c" break; case 1990: /* a_expr: a_expr qual_Op a_expr */ #line 12042 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53582 "preproc.c" break; case 1991: /* a_expr: qual_Op a_expr */ #line 12046 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 53590 "preproc.c" break; case 1992: /* a_expr: a_expr AND a_expr */ #line 12050 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53598 "preproc.c" break; case 1993: /* a_expr: a_expr OR a_expr */ #line 12054 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } #line 53606 "preproc.c" break; case 1994: /* a_expr: NOT a_expr */ #line 12058 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } #line 53614 "preproc.c" break; case 1995: /* a_expr: NOT_LA a_expr */ #line 12062 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } #line 53622 "preproc.c" break; case 1996: /* a_expr: a_expr LIKE a_expr */ #line 12066 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("like"),(yyvsp[0].str)); } #line 53630 "preproc.c" break; case 1997: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */ #line 12070 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53638 "preproc.c" break; case 1998: /* a_expr: a_expr NOT_LA LIKE a_expr */ #line 12074 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not like"),(yyvsp[0].str)); } #line 53646 "preproc.c" break; case 1999: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */ #line 12078 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53654 "preproc.c" break; case 2000: /* a_expr: a_expr ILIKE a_expr */ #line 12082 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("ilike"),(yyvsp[0].str)); } #line 53662 "preproc.c" break; case 2001: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */ #line 12086 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53670 "preproc.c" break; case 2002: /* a_expr: a_expr NOT_LA ILIKE a_expr */ #line 12090 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not ilike"),(yyvsp[0].str)); } #line 53678 "preproc.c" break; case 2003: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */ #line 12094 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53686 "preproc.c" break; case 2004: /* a_expr: a_expr SIMILAR TO a_expr */ #line 12098 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("similar to"),(yyvsp[0].str)); } #line 53694 "preproc.c" break; case 2005: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */ #line 12102 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("similar to"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53702 "preproc.c" break; case 2006: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */ #line 12106 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("not similar to"),(yyvsp[0].str)); } #line 53710 "preproc.c" break; case 2007: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */ #line 12110 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-6].str),mm_strdup("not similar to"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 53718 "preproc.c" break; case 2008: /* a_expr: a_expr IS NULL_P */ #line 12114 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is null")); } #line 53726 "preproc.c" break; case 2009: /* a_expr: a_expr ISNULL */ #line 12118 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("isnull")); } #line 53734 "preproc.c" break; case 2010: /* a_expr: a_expr IS NOT NULL_P */ #line 12122 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not null")); } #line 53742 "preproc.c" break; case 2011: /* a_expr: a_expr NOTNULL */ #line 12126 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("notnull")); } #line 53750 "preproc.c" break; case 2012: /* a_expr: row OVERLAPS row */ #line 12130 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("overlaps"),(yyvsp[0].str)); } #line 53758 "preproc.c" break; case 2013: /* a_expr: a_expr IS TRUE_P */ #line 12134 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is true")); } #line 53766 "preproc.c" break; case 2014: /* a_expr: a_expr IS NOT TRUE_P */ #line 12138 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not true")); } #line 53774 "preproc.c" break; case 2015: /* a_expr: a_expr IS FALSE_P */ #line 12142 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is false")); } #line 53782 "preproc.c" break; case 2016: /* a_expr: a_expr IS NOT FALSE_P */ #line 12146 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not false")); } #line 53790 "preproc.c" break; case 2017: /* a_expr: a_expr IS UNKNOWN */ #line 12150 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is unknown")); } #line 53798 "preproc.c" break; case 2018: /* a_expr: a_expr IS NOT UNKNOWN */ #line 12154 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not unknown")); } #line 53806 "preproc.c" break; case 2019: /* a_expr: a_expr IS DISTINCT FROM a_expr */ #line 12158 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } #line 53814 "preproc.c" break; case 2020: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */ #line 12162 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } #line 53822 "preproc.c" break; case 2021: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */ #line 12166 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),mm_strdup("between"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53830 "preproc.c" break; case 2022: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */ #line 12170 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("not between"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53838 "preproc.c" break; case 2023: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */ #line 12174 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("between symmetric"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53846 "preproc.c" break; case 2024: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */ #line 12178 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-6].str),mm_strdup("not between symmetric"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 53854 "preproc.c" break; case 2025: /* a_expr: a_expr IN_P in_expr */ #line 12182 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } #line 53862 "preproc.c" break; case 2026: /* a_expr: a_expr NOT_LA IN_P in_expr */ #line 12186 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not in"),(yyvsp[0].str)); } #line 53870 "preproc.c" break; case 2027: /* a_expr: a_expr subquery_Op sub_type select_with_parens */ #line 12190 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53878 "preproc.c" break; case 2028: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */ #line 12194 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 53886 "preproc.c" break; case 2029: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens */ #line 12198 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(3,mm_strdup("unique"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53895 "preproc.c" break; case 2030: /* a_expr: a_expr IS DOCUMENT_P */ #line 12203 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } #line 53903 "preproc.c" break; case 2031: /* a_expr: a_expr IS NOT DOCUMENT_P */ #line 12207 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } #line 53911 "preproc.c" break; case 2032: /* a_expr: a_expr IS NORMALIZED */ #line 12211 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is normalized")); } #line 53919 "preproc.c" break; case 2033: /* a_expr: a_expr IS unicode_normal_form NORMALIZED */ #line 12215 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("is"),(yyvsp[-1].str),mm_strdup("normalized")); } #line 53927 "preproc.c" break; case 2034: /* a_expr: a_expr IS NOT NORMALIZED */ #line 12219 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not normalized")); } #line 53935 "preproc.c" break; case 2035: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED */ #line 12223 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("is not"),(yyvsp[-1].str),mm_strdup("normalized")); } #line 53943 "preproc.c" break; case 2036: /* a_expr: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt */ #line 12227 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("is"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53951 "preproc.c" break; case 2037: /* a_expr: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt */ #line 12231 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("is not"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 53959 "preproc.c" break; case 2038: /* a_expr: DEFAULT */ #line 12235 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 53967 "preproc.c" break; case 2039: /* b_expr: c_expr */ #line 12243 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 53975 "preproc.c" break; case 2040: /* b_expr: b_expr TYPECAST Typename */ #line 12247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } #line 53983 "preproc.c" break; case 2041: /* b_expr: '+' b_expr */ #line 12251 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 53991 "preproc.c" break; case 2042: /* b_expr: '-' b_expr */ #line 12255 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 53999 "preproc.c" break; case 2043: /* b_expr: b_expr '+' b_expr */ #line 12259 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } #line 54007 "preproc.c" break; case 2044: /* b_expr: b_expr '-' b_expr */ #line 12263 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } #line 54015 "preproc.c" break; case 2045: /* b_expr: b_expr '*' b_expr */ #line 12267 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } #line 54023 "preproc.c" break; case 2046: /* b_expr: b_expr '/' b_expr */ #line 12271 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } #line 54031 "preproc.c" break; case 2047: /* b_expr: b_expr '%' b_expr */ #line 12275 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } #line 54039 "preproc.c" break; case 2048: /* b_expr: b_expr '^' b_expr */ #line 12279 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } #line 54047 "preproc.c" break; case 2049: /* b_expr: b_expr '<' b_expr */ #line 12283 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } #line 54055 "preproc.c" break; case 2050: /* b_expr: b_expr '>' b_expr */ #line 12287 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } #line 54063 "preproc.c" break; case 2051: /* b_expr: b_expr '=' b_expr */ #line 12291 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } #line 54071 "preproc.c" break; case 2052: /* b_expr: b_expr LESS_EQUALS b_expr */ #line 12295 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } #line 54079 "preproc.c" break; case 2053: /* b_expr: b_expr GREATER_EQUALS b_expr */ #line 12299 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } #line 54087 "preproc.c" break; case 2054: /* b_expr: b_expr NOT_EQUALS b_expr */ #line 12303 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } #line 54095 "preproc.c" break; case 2055: /* b_expr: b_expr qual_Op b_expr */ #line 12307 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54103 "preproc.c" break; case 2056: /* b_expr: qual_Op b_expr */ #line 12311 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 54111 "preproc.c" break; case 2057: /* b_expr: b_expr IS DISTINCT FROM b_expr */ #line 12315 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } #line 54119 "preproc.c" break; case 2058: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */ #line 12319 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } #line 54127 "preproc.c" break; case 2059: /* b_expr: b_expr IS DOCUMENT_P */ #line 12323 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } #line 54135 "preproc.c" break; case 2060: /* b_expr: b_expr IS NOT DOCUMENT_P */ #line 12327 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } #line 54143 "preproc.c" break; case 2061: /* c_expr: columnref */ #line 12335 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54151 "preproc.c" break; case 2062: /* c_expr: AexprConst */ #line 12339 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54159 "preproc.c" break; case 2063: /* c_expr: ecpg_param opt_indirection */ #line 12343 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 54167 "preproc.c" break; case 2064: /* c_expr: '(' a_expr ')' opt_indirection */ #line 12347 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 54175 "preproc.c" break; case 2065: /* c_expr: case_expr */ #line 12351 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54183 "preproc.c" break; case 2066: /* c_expr: func_expr */ #line 12355 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54191 "preproc.c" break; case 2067: /* c_expr: select_with_parens */ #line 12359 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54199 "preproc.c" break; case 2068: /* c_expr: select_with_parens indirection */ #line 12363 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 54207 "preproc.c" break; case 2069: /* c_expr: EXISTS select_with_parens */ #line 12367 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("exists"),(yyvsp[0].str)); } #line 54215 "preproc.c" break; case 2070: /* c_expr: ARRAY select_with_parens */ #line 12371 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } #line 54223 "preproc.c" break; case 2071: /* c_expr: ARRAY array_expr */ #line 12375 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } #line 54231 "preproc.c" break; case 2072: /* c_expr: explicit_row */ #line 12379 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54239 "preproc.c" break; case 2073: /* c_expr: implicit_row */ #line 12383 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54247 "preproc.c" break; case 2074: /* c_expr: GROUPING '(' expr_list ')' */ #line 12387 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54255 "preproc.c" break; case 2075: /* func_application: func_name '(' ')' */ #line 12395 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("( )")); } #line 54263 "preproc.c" break; case 2076: /* func_application: func_name '(' func_arg_list opt_sort_clause ')' */ #line 12399 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54271 "preproc.c" break; case 2077: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')' */ #line 12403 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( variadic"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54279 "preproc.c" break; case 2078: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')' */ #line 12407 "preproc.y" { (yyval.str) = cat_str(7,(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(", variadic"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54287 "preproc.c" break; case 2079: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')' */ #line 12411 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( all"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54295 "preproc.c" break; case 2080: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')' */ #line 12415 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( distinct"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54303 "preproc.c" break; case 2081: /* func_application: func_name '(' '*' ')' */ #line 12419 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("( * )")); } #line 54311 "preproc.c" break; case 2082: /* func_expr: func_application within_group_clause filter_clause over_clause */ #line 12427 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54319 "preproc.c" break; case 2083: /* func_expr: json_aggregate_func filter_clause over_clause */ #line 12431 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54327 "preproc.c" break; case 2084: /* func_expr: func_expr_common_subexpr */ #line 12435 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54335 "preproc.c" break; case 2085: /* func_expr_windowless: func_application */ #line 12443 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54343 "preproc.c" break; case 2086: /* func_expr_windowless: func_expr_common_subexpr */ #line 12447 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54351 "preproc.c" break; case 2087: /* func_expr_windowless: json_aggregate_func */ #line 12451 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54359 "preproc.c" break; case 2088: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */ #line 12459 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("collation for ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54367 "preproc.c" break; case 2089: /* func_expr_common_subexpr: CURRENT_DATE */ #line 12463 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 54375 "preproc.c" break; case 2090: /* func_expr_common_subexpr: CURRENT_TIME */ #line 12467 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 54383 "preproc.c" break; case 2091: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')' */ #line 12471 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_time ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54391 "preproc.c" break; case 2092: /* func_expr_common_subexpr: CURRENT_TIMESTAMP */ #line 12475 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 54399 "preproc.c" break; case 2093: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')' */ #line 12479 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_timestamp ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54407 "preproc.c" break; case 2094: /* func_expr_common_subexpr: LOCALTIME */ #line 12483 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 54415 "preproc.c" break; case 2095: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')' */ #line 12487 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtime ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54423 "preproc.c" break; case 2096: /* func_expr_common_subexpr: LOCALTIMESTAMP */ #line 12491 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 54431 "preproc.c" break; case 2097: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')' */ #line 12495 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtimestamp ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54439 "preproc.c" break; case 2098: /* func_expr_common_subexpr: CURRENT_ROLE */ #line 12499 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 54447 "preproc.c" break; case 2099: /* func_expr_common_subexpr: CURRENT_USER */ #line 12503 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 54455 "preproc.c" break; case 2100: /* func_expr_common_subexpr: SESSION_USER */ #line 12507 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 54463 "preproc.c" break; case 2101: /* func_expr_common_subexpr: SYSTEM_USER */ #line 12511 "preproc.y" { (yyval.str) = mm_strdup("system_user"); } #line 54471 "preproc.c" break; case 2102: /* func_expr_common_subexpr: USER */ #line 12515 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 54479 "preproc.c" break; case 2103: /* func_expr_common_subexpr: CURRENT_CATALOG */ #line 12519 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 54487 "preproc.c" break; case 2104: /* func_expr_common_subexpr: CURRENT_SCHEMA */ #line 12523 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 54495 "preproc.c" break; case 2105: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */ #line 12527 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cast ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 54503 "preproc.c" break; case 2106: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */ #line 12531 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("extract ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54511 "preproc.c" break; case 2107: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')' */ #line 12535 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("normalize ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54519 "preproc.c" break; case 2108: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')' */ #line 12539 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("normalize ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54527 "preproc.c" break; case 2109: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */ #line 12543 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54535 "preproc.c" break; case 2110: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')' */ #line 12547 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54543 "preproc.c" break; case 2111: /* func_expr_common_subexpr: POSITION '(' position_list ')' */ #line 12551 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("position ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54551 "preproc.c" break; case 2112: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */ #line 12555 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54559 "preproc.c" break; case 2113: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')' */ #line 12559 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54567 "preproc.c" break; case 2114: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */ #line 12563 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("treat ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } #line 54575 "preproc.c" break; case 2115: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */ #line 12567 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( both"),(yyvsp[-1].str),mm_strdup(")")); } #line 54583 "preproc.c" break; case 2116: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */ #line 12571 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( leading"),(yyvsp[-1].str),mm_strdup(")")); } #line 54591 "preproc.c" break; case 2117: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */ #line 12575 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( trailing"),(yyvsp[-1].str),mm_strdup(")")); } #line 54599 "preproc.c" break; case 2118: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */ #line 12579 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54607 "preproc.c" break; case 2119: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */ #line 12583 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("nullif ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54615 "preproc.c" break; case 2120: /* func_expr_common_subexpr: COALESCE '(' expr_list ')' */ #line 12587 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("coalesce ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54623 "preproc.c" break; case 2121: /* func_expr_common_subexpr: GREATEST '(' expr_list ')' */ #line 12591 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("greatest ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54631 "preproc.c" break; case 2122: /* func_expr_common_subexpr: LEAST '(' expr_list ')' */ #line 12595 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("least ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54639 "preproc.c" break; case 2123: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')' */ #line 12599 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlconcat ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54647 "preproc.c" break; case 2124: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')' */ #line 12603 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlelement ( name"),(yyvsp[-1].str),mm_strdup(")")); } #line 54655 "preproc.c" break; case 2125: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')' */ #line 12607 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54663 "preproc.c" break; case 2126: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')' */ #line 12611 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54671 "preproc.c" break; case 2127: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')' */ #line 12615 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("xmlelement ( name"),(yyvsp[-5].str),mm_strdup(","),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54679 "preproc.c" break; case 2128: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')' */ #line 12619 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("xmlexists ("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54687 "preproc.c" break; case 2129: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')' */ #line 12623 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlforest ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54695 "preproc.c" break; case 2130: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')' */ #line 12627 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlparse ("),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54703 "preproc.c" break; case 2131: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')' */ #line 12631 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlpi ( name"),(yyvsp[-1].str),mm_strdup(")")); } #line 54711 "preproc.c" break; case 2132: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')' */ #line 12635 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlpi ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 54719 "preproc.c" break; case 2133: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')' */ #line 12639 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmlroot ("),(yyvsp[-4].str),mm_strdup(","),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54727 "preproc.c" break; case 2134: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')' */ #line 12643 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("xmlserialize ("),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("as"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54735 "preproc.c" break; case 2135: /* func_expr_common_subexpr: JSON_OBJECT '(' func_arg_list ')' */ #line 12647 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("json_object ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54743 "preproc.c" break; case 2136: /* func_expr_common_subexpr: JSON_OBJECT '(' json_name_and_value_list json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_output_clause_opt ')' */ #line 12651 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("json_object ("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54751 "preproc.c" break; case 2137: /* func_expr_common_subexpr: JSON_OBJECT '(' json_output_clause_opt ')' */ #line 12655 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("json_object ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54759 "preproc.c" break; case 2138: /* func_expr_common_subexpr: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_output_clause_opt ')' */ #line 12659 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("json_array ("),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54767 "preproc.c" break; case 2139: /* func_expr_common_subexpr: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_output_clause_opt ')' */ #line 12663 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("json_array ("),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 54775 "preproc.c" break; case 2140: /* func_expr_common_subexpr: JSON_ARRAY '(' json_output_clause_opt ')' */ #line 12667 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("json_array ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54783 "preproc.c" break; case 2141: /* xml_root_version: VERSION_P a_expr */ #line 12675 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } #line 54791 "preproc.c" break; case 2142: /* xml_root_version: VERSION_P NO VALUE_P */ #line 12679 "preproc.y" { (yyval.str) = mm_strdup("version no value"); } #line 54799 "preproc.c" break; case 2143: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P */ #line 12687 "preproc.y" { (yyval.str) = mm_strdup(", standalone yes"); } #line 54807 "preproc.c" break; case 2144: /* opt_xml_root_standalone: ',' STANDALONE_P NO */ #line 12691 "preproc.y" { (yyval.str) = mm_strdup(", standalone no"); } #line 54815 "preproc.c" break; case 2145: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P */ #line 12695 "preproc.y" { (yyval.str) = mm_strdup(", standalone no value"); } #line 54823 "preproc.c" break; case 2146: /* opt_xml_root_standalone: %empty */ #line 12699 "preproc.y" { (yyval.str)=EMPTY; } #line 54830 "preproc.c" break; case 2147: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' */ #line 12706 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlattributes ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54838 "preproc.c" break; case 2148: /* xml_attribute_list: xml_attribute_el */ #line 12714 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54846 "preproc.c" break; case 2149: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el */ #line 12718 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 54854 "preproc.c" break; case 2150: /* xml_attribute_el: a_expr AS ColLabel */ #line 12726 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 54862 "preproc.c" break; case 2151: /* xml_attribute_el: a_expr */ #line 12730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 54870 "preproc.c" break; case 2152: /* document_or_content: DOCUMENT_P */ #line 12738 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 54878 "preproc.c" break; case 2153: /* document_or_content: CONTENT_P */ #line 12742 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 54886 "preproc.c" break; case 2154: /* xml_indent_option: INDENT */ #line 12750 "preproc.y" { (yyval.str) = mm_strdup("indent"); } #line 54894 "preproc.c" break; case 2155: /* xml_indent_option: NO INDENT */ #line 12754 "preproc.y" { (yyval.str) = mm_strdup("no indent"); } #line 54902 "preproc.c" break; case 2156: /* xml_indent_option: %empty */ #line 12758 "preproc.y" { (yyval.str)=EMPTY; } #line 54909 "preproc.c" break; case 2157: /* xml_whitespace_option: PRESERVE WHITESPACE_P */ #line 12765 "preproc.y" { (yyval.str) = mm_strdup("preserve whitespace"); } #line 54917 "preproc.c" break; case 2158: /* xml_whitespace_option: STRIP_P WHITESPACE_P */ #line 12769 "preproc.y" { (yyval.str) = mm_strdup("strip whitespace"); } #line 54925 "preproc.c" break; case 2159: /* xml_whitespace_option: %empty */ #line 12773 "preproc.y" { (yyval.str)=EMPTY; } #line 54932 "preproc.c" break; case 2160: /* xmlexists_argument: PASSING c_expr */ #line 12780 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("passing"),(yyvsp[0].str)); } #line 54940 "preproc.c" break; case 2161: /* xmlexists_argument: PASSING c_expr xml_passing_mech */ #line 12784 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54948 "preproc.c" break; case 2162: /* xmlexists_argument: PASSING xml_passing_mech c_expr */ #line 12788 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54956 "preproc.c" break; case 2163: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech */ #line 12792 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("passing"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 54964 "preproc.c" break; case 2164: /* xml_passing_mech: BY REF_P */ #line 12800 "preproc.y" { (yyval.str) = mm_strdup("by ref"); } #line 54972 "preproc.c" break; case 2165: /* xml_passing_mech: BY VALUE_P */ #line 12804 "preproc.y" { (yyval.str) = mm_strdup("by value"); } #line 54980 "preproc.c" break; case 2166: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */ #line 12812 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("within group ("),(yyvsp[-1].str),mm_strdup(")")); } #line 54988 "preproc.c" break; case 2167: /* within_group_clause: %empty */ #line 12816 "preproc.y" { (yyval.str)=EMPTY; } #line 54995 "preproc.c" break; case 2168: /* filter_clause: FILTER '(' WHERE a_expr ')' */ #line 12823 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("filter ( where"),(yyvsp[-1].str),mm_strdup(")")); } #line 55003 "preproc.c" break; case 2169: /* filter_clause: %empty */ #line 12827 "preproc.y" { (yyval.str)=EMPTY; } #line 55010 "preproc.c" break; case 2170: /* window_clause: WINDOW window_definition_list */ #line 12834 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("window"),(yyvsp[0].str)); } #line 55018 "preproc.c" break; case 2171: /* window_clause: %empty */ #line 12838 "preproc.y" { (yyval.str)=EMPTY; } #line 55025 "preproc.c" break; case 2172: /* window_definition_list: window_definition */ #line 12845 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55033 "preproc.c" break; case 2173: /* window_definition_list: window_definition_list ',' window_definition */ #line 12849 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55041 "preproc.c" break; case 2174: /* window_definition: ColId AS window_specification */ #line 12857 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 55049 "preproc.c" break; case 2175: /* over_clause: OVER window_specification */ #line 12865 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } #line 55057 "preproc.c" break; case 2176: /* over_clause: OVER ColId */ #line 12869 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } #line 55065 "preproc.c" break; case 2177: /* over_clause: %empty */ #line 12873 "preproc.y" { (yyval.str)=EMPTY; } #line 55072 "preproc.c" break; case 2178: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */ #line 12880 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 55080 "preproc.c" break; case 2179: /* opt_existing_window_name: ColId */ #line 12888 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55088 "preproc.c" break; case 2180: /* opt_existing_window_name: %empty */ #line 12892 "preproc.y" { (yyval.str)=EMPTY; } #line 55095 "preproc.c" break; case 2181: /* opt_partition_clause: PARTITION BY expr_list */ #line 12899 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("partition by"),(yyvsp[0].str)); } #line 55103 "preproc.c" break; case 2182: /* opt_partition_clause: %empty */ #line 12903 "preproc.y" { (yyval.str)=EMPTY; } #line 55110 "preproc.c" break; case 2183: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause */ #line 12910 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("range"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 55118 "preproc.c" break; case 2184: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause */ #line 12914 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rows"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 55126 "preproc.c" break; case 2185: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause */ #line 12918 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("groups"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 55134 "preproc.c" break; case 2186: /* opt_frame_clause: %empty */ #line 12922 "preproc.y" { (yyval.str)=EMPTY; } #line 55141 "preproc.c" break; case 2187: /* frame_extent: frame_bound */ #line 12929 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55149 "preproc.c" break; case 2188: /* frame_extent: BETWEEN frame_bound AND frame_bound */ #line 12933 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("between"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } #line 55157 "preproc.c" break; case 2189: /* frame_bound: UNBOUNDED PRECEDING */ #line 12941 "preproc.y" { (yyval.str) = mm_strdup("unbounded preceding"); } #line 55165 "preproc.c" break; case 2190: /* frame_bound: UNBOUNDED FOLLOWING */ #line 12945 "preproc.y" { (yyval.str) = mm_strdup("unbounded following"); } #line 55173 "preproc.c" break; case 2191: /* frame_bound: CURRENT_P ROW */ #line 12949 "preproc.y" { (yyval.str) = mm_strdup("current row"); } #line 55181 "preproc.c" break; case 2192: /* frame_bound: a_expr PRECEDING */ #line 12953 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("preceding")); } #line 55189 "preproc.c" break; case 2193: /* frame_bound: a_expr FOLLOWING */ #line 12957 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("following")); } #line 55197 "preproc.c" break; case 2194: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW */ #line 12965 "preproc.y" { (yyval.str) = mm_strdup("exclude current row"); } #line 55205 "preproc.c" break; case 2195: /* opt_window_exclusion_clause: EXCLUDE GROUP_P */ #line 12969 "preproc.y" { (yyval.str) = mm_strdup("exclude group"); } #line 55213 "preproc.c" break; case 2196: /* opt_window_exclusion_clause: EXCLUDE TIES */ #line 12973 "preproc.y" { (yyval.str) = mm_strdup("exclude ties"); } #line 55221 "preproc.c" break; case 2197: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS */ #line 12977 "preproc.y" { (yyval.str) = mm_strdup("exclude no others"); } #line 55229 "preproc.c" break; case 2198: /* opt_window_exclusion_clause: %empty */ #line 12981 "preproc.y" { (yyval.str)=EMPTY; } #line 55236 "preproc.c" break; case 2199: /* row: ROW '(' expr_list ')' */ #line 12988 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } #line 55244 "preproc.c" break; case 2200: /* row: ROW '(' ')' */ #line 12992 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } #line 55252 "preproc.c" break; case 2201: /* row: '(' expr_list ',' a_expr ')' */ #line 12996 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 55260 "preproc.c" break; case 2202: /* explicit_row: ROW '(' expr_list ')' */ #line 13004 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } #line 55268 "preproc.c" break; case 2203: /* explicit_row: ROW '(' ')' */ #line 13008 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } #line 55276 "preproc.c" break; case 2204: /* implicit_row: '(' expr_list ',' a_expr ')' */ #line 13016 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } #line 55284 "preproc.c" break; case 2205: /* sub_type: ANY */ #line 13024 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 55292 "preproc.c" break; case 2206: /* sub_type: SOME */ #line 13028 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 55300 "preproc.c" break; case 2207: /* sub_type: ALL */ #line 13032 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 55308 "preproc.c" break; case 2208: /* all_Op: Op */ #line 13040 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55316 "preproc.c" break; case 2209: /* all_Op: MathOp */ #line 13044 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55324 "preproc.c" break; case 2210: /* MathOp: '+' */ #line 13052 "preproc.y" { (yyval.str) = mm_strdup("+"); } #line 55332 "preproc.c" break; case 2211: /* MathOp: '-' */ #line 13056 "preproc.y" { (yyval.str) = mm_strdup("-"); } #line 55340 "preproc.c" break; case 2212: /* MathOp: '*' */ #line 13060 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 55348 "preproc.c" break; case 2213: /* MathOp: '/' */ #line 13064 "preproc.y" { (yyval.str) = mm_strdup("/"); } #line 55356 "preproc.c" break; case 2214: /* MathOp: '%' */ #line 13068 "preproc.y" { (yyval.str) = mm_strdup("%"); } #line 55364 "preproc.c" break; case 2215: /* MathOp: '^' */ #line 13072 "preproc.y" { (yyval.str) = mm_strdup("^"); } #line 55372 "preproc.c" break; case 2216: /* MathOp: '<' */ #line 13076 "preproc.y" { (yyval.str) = mm_strdup("<"); } #line 55380 "preproc.c" break; case 2217: /* MathOp: '>' */ #line 13080 "preproc.y" { (yyval.str) = mm_strdup(">"); } #line 55388 "preproc.c" break; case 2218: /* MathOp: '=' */ #line 13084 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 55396 "preproc.c" break; case 2219: /* MathOp: LESS_EQUALS */ #line 13088 "preproc.y" { (yyval.str) = mm_strdup("<="); } #line 55404 "preproc.c" break; case 2220: /* MathOp: GREATER_EQUALS */ #line 13092 "preproc.y" { (yyval.str) = mm_strdup(">="); } #line 55412 "preproc.c" break; case 2221: /* MathOp: NOT_EQUALS */ #line 13096 "preproc.y" { (yyval.str) = mm_strdup("<>"); } #line 55420 "preproc.c" break; case 2222: /* qual_Op: Op */ #line 13104 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55428 "preproc.c" break; case 2223: /* qual_Op: OPERATOR '(' any_operator ')' */ #line 13108 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 55436 "preproc.c" break; case 2224: /* qual_all_Op: all_Op */ #line 13116 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55444 "preproc.c" break; case 2225: /* qual_all_Op: OPERATOR '(' any_operator ')' */ #line 13120 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 55452 "preproc.c" break; case 2226: /* subquery_Op: all_Op */ #line 13128 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55460 "preproc.c" break; case 2227: /* subquery_Op: OPERATOR '(' any_operator ')' */ #line 13132 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } #line 55468 "preproc.c" break; case 2228: /* subquery_Op: LIKE */ #line 13136 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 55476 "preproc.c" break; case 2229: /* subquery_Op: NOT_LA LIKE */ #line 13140 "preproc.y" { (yyval.str) = mm_strdup("not like"); } #line 55484 "preproc.c" break; case 2230: /* subquery_Op: ILIKE */ #line 13144 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 55492 "preproc.c" break; case 2231: /* subquery_Op: NOT_LA ILIKE */ #line 13148 "preproc.y" { (yyval.str) = mm_strdup("not ilike"); } #line 55500 "preproc.c" break; case 2232: /* expr_list: a_expr */ #line 13156 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55508 "preproc.c" break; case 2233: /* expr_list: expr_list ',' a_expr */ #line 13160 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55516 "preproc.c" break; case 2234: /* func_arg_list: func_arg_expr */ #line 13168 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55524 "preproc.c" break; case 2235: /* func_arg_list: func_arg_list ',' func_arg_expr */ #line 13172 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55532 "preproc.c" break; case 2236: /* func_arg_expr: a_expr */ #line 13180 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55540 "preproc.c" break; case 2237: /* func_arg_expr: param_name COLON_EQUALS a_expr */ #line 13184 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(":="),(yyvsp[0].str)); } #line 55548 "preproc.c" break; case 2238: /* func_arg_expr: param_name EQUALS_GREATER a_expr */ #line 13188 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("=>"),(yyvsp[0].str)); } #line 55556 "preproc.c" break; case 2239: /* func_arg_list_opt: func_arg_list */ #line 13196 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55564 "preproc.c" break; case 2240: /* func_arg_list_opt: %empty */ #line 13200 "preproc.y" { (yyval.str)=EMPTY; } #line 55571 "preproc.c" break; case 2241: /* type_list: Typename */ #line 13207 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55579 "preproc.c" break; case 2242: /* type_list: type_list ',' Typename */ #line 13211 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55587 "preproc.c" break; case 2243: /* array_expr: '[' expr_list ']' */ #line 13219 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 55595 "preproc.c" break; case 2244: /* array_expr: '[' array_expr_list ']' */ #line 13223 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 55603 "preproc.c" break; case 2245: /* array_expr: '[' ']' */ #line 13227 "preproc.y" { (yyval.str) = mm_strdup("[ ]"); } #line 55611 "preproc.c" break; case 2246: /* array_expr_list: array_expr */ #line 13235 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55619 "preproc.c" break; case 2247: /* array_expr_list: array_expr_list ',' array_expr */ #line 13239 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 55627 "preproc.c" break; case 2248: /* extract_list: extract_arg FROM a_expr */ #line 13247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55635 "preproc.c" break; case 2249: /* extract_arg: ecpg_ident */ #line 13255 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55643 "preproc.c" break; case 2250: /* extract_arg: YEAR_P */ #line 13259 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 55651 "preproc.c" break; case 2251: /* extract_arg: MONTH_P */ #line 13263 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 55659 "preproc.c" break; case 2252: /* extract_arg: DAY_P */ #line 13267 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 55667 "preproc.c" break; case 2253: /* extract_arg: HOUR_P */ #line 13271 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 55675 "preproc.c" break; case 2254: /* extract_arg: MINUTE_P */ #line 13275 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 55683 "preproc.c" break; case 2255: /* extract_arg: SECOND_P */ #line 13279 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 55691 "preproc.c" break; case 2256: /* extract_arg: ecpg_sconst */ #line 13283 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55699 "preproc.c" break; case 2257: /* unicode_normal_form: NFC */ #line 13291 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 55707 "preproc.c" break; case 2258: /* unicode_normal_form: NFD */ #line 13295 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 55715 "preproc.c" break; case 2259: /* unicode_normal_form: NFKC */ #line 13299 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 55723 "preproc.c" break; case 2260: /* unicode_normal_form: NFKD */ #line 13303 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 55731 "preproc.c" break; case 2261: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr */ #line 13311 "preproc.y" { (yyval.str) = cat_str(7,(yyvsp[-6].str),mm_strdup("placing"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } #line 55739 "preproc.c" break; case 2262: /* overlay_list: a_expr PLACING a_expr FROM a_expr */ #line 13315 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("placing"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55747 "preproc.c" break; case 2263: /* position_list: b_expr IN_P b_expr */ #line 13323 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } #line 55755 "preproc.c" break; case 2264: /* substr_list: a_expr FROM a_expr FOR a_expr */ #line 13331 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } #line 55763 "preproc.c" break; case 2265: /* substr_list: a_expr FOR a_expr FROM a_expr */ #line 13335 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("for"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55771 "preproc.c" break; case 2266: /* substr_list: a_expr FROM a_expr */ #line 13339 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55779 "preproc.c" break; case 2267: /* substr_list: a_expr FOR a_expr */ #line 13343 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } #line 55787 "preproc.c" break; case 2268: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr */ #line 13347 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("similar"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } #line 55795 "preproc.c" break; case 2269: /* trim_list: a_expr FROM expr_list */ #line 13355 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } #line 55803 "preproc.c" break; case 2270: /* trim_list: FROM expr_list */ #line 13359 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } #line 55811 "preproc.c" break; case 2271: /* trim_list: expr_list */ #line 13363 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55819 "preproc.c" break; case 2272: /* in_expr: select_with_parens */ #line 13371 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55827 "preproc.c" break; case 2273: /* in_expr: '(' expr_list ')' */ #line 13375 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } #line 55835 "preproc.c" break; case 2274: /* case_expr: CASE case_arg when_clause_list case_default END_P */ #line 13383 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("case"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("end")); } #line 55843 "preproc.c" break; case 2275: /* when_clause_list: when_clause */ #line 13391 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55851 "preproc.c" break; case 2276: /* when_clause_list: when_clause_list when_clause */ #line 13395 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55859 "preproc.c" break; case 2277: /* when_clause: WHEN a_expr THEN a_expr */ #line 13403 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } #line 55867 "preproc.c" break; case 2278: /* case_default: ELSE a_expr */ #line 13411 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("else"),(yyvsp[0].str)); } #line 55875 "preproc.c" break; case 2279: /* case_default: %empty */ #line 13415 "preproc.y" { (yyval.str)=EMPTY; } #line 55882 "preproc.c" break; case 2280: /* case_arg: a_expr */ #line 13422 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55890 "preproc.c" break; case 2281: /* case_arg: %empty */ #line 13426 "preproc.y" { (yyval.str)=EMPTY; } #line 55897 "preproc.c" break; case 2282: /* columnref: ColId */ #line 13433 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55905 "preproc.c" break; case 2283: /* columnref: ColId indirection */ #line 13437 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55913 "preproc.c" break; case 2284: /* indirection_el: '.' attr_name */ #line 13445 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } #line 55921 "preproc.c" break; case 2285: /* indirection_el: '.' '*' */ #line 13449 "preproc.y" { (yyval.str) = mm_strdup(". *"); } #line 55929 "preproc.c" break; case 2286: /* indirection_el: '[' a_expr ']' */ #line 13453 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } #line 55937 "preproc.c" break; case 2287: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ #line 13457 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("["),(yyvsp[-3].str),mm_strdup(":"),(yyvsp[-1].str),mm_strdup("]")); } #line 55945 "preproc.c" break; case 2288: /* opt_slice_bound: a_expr */ #line 13465 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55953 "preproc.c" break; case 2289: /* opt_slice_bound: %empty */ #line 13469 "preproc.y" { (yyval.str)=EMPTY; } #line 55960 "preproc.c" break; case 2290: /* indirection: indirection_el */ #line 13476 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 55968 "preproc.c" break; case 2291: /* indirection: indirection indirection_el */ #line 13480 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55976 "preproc.c" break; case 2292: /* opt_indirection: %empty */ #line 13488 "preproc.y" { (yyval.str)=EMPTY; } #line 55983 "preproc.c" break; case 2293: /* opt_indirection: opt_indirection indirection_el */ #line 13491 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 55991 "preproc.c" break; case 2294: /* opt_asymmetric: ASYMMETRIC */ #line 13499 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 55999 "preproc.c" break; case 2295: /* opt_asymmetric: %empty */ #line 13503 "preproc.y" { (yyval.str)=EMPTY; } #line 56006 "preproc.c" break; case 2296: /* json_value_expr: a_expr json_format_clause_opt */ #line 13510 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56014 "preproc.c" break; case 2297: /* json_format_clause_opt: FORMAT_LA JSON json_encoding_clause_opt */ #line 13518 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("format json"),(yyvsp[0].str)); } #line 56022 "preproc.c" break; case 2298: /* json_format_clause_opt: %empty */ #line 13522 "preproc.y" { (yyval.str)=EMPTY; } #line 56029 "preproc.c" break; case 2299: /* json_encoding_clause_opt: ENCODING name */ #line 13529 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encoding"),(yyvsp[0].str)); } #line 56037 "preproc.c" break; case 2300: /* json_encoding_clause_opt: %empty */ #line 13533 "preproc.y" { (yyval.str)=EMPTY; } #line 56044 "preproc.c" break; case 2301: /* json_output_clause_opt: RETURNING Typename json_format_clause_opt */ #line 13540 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("returning"),(yyvsp[-1].str),(yyvsp[0].str)); } #line 56052 "preproc.c" break; case 2302: /* json_output_clause_opt: %empty */ #line 13544 "preproc.y" { (yyval.str)=EMPTY; } #line 56059 "preproc.c" break; case 2303: /* json_predicate_type_constraint: JSON */ #line 13551 "preproc.y" { (yyval.str) = mm_strdup("json"); } #line 56067 "preproc.c" break; case 2304: /* json_predicate_type_constraint: JSON VALUE_P */ #line 13555 "preproc.y" { (yyval.str) = mm_strdup("json value"); } #line 56075 "preproc.c" break; case 2305: /* json_predicate_type_constraint: JSON ARRAY */ #line 13559 "preproc.y" { (yyval.str) = mm_strdup("json array"); } #line 56083 "preproc.c" break; case 2306: /* json_predicate_type_constraint: JSON OBJECT_P */ #line 13563 "preproc.y" { (yyval.str) = mm_strdup("json object"); } #line 56091 "preproc.c" break; case 2307: /* json_predicate_type_constraint: JSON SCALAR */ #line 13567 "preproc.y" { (yyval.str) = mm_strdup("json scalar"); } #line 56099 "preproc.c" break; case 2308: /* json_key_uniqueness_constraint_opt: WITH UNIQUE KEYS */ #line 13575 "preproc.y" { (yyval.str) = mm_strdup("with unique keys"); } #line 56107 "preproc.c" break; case 2309: /* json_key_uniqueness_constraint_opt: WITH UNIQUE */ #line 13579 "preproc.y" { (yyval.str) = mm_strdup("with unique"); } #line 56115 "preproc.c" break; case 2310: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE KEYS */ #line 13583 "preproc.y" { (yyval.str) = mm_strdup("without unique keys"); } #line 56123 "preproc.c" break; case 2311: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE */ #line 13587 "preproc.y" { (yyval.str) = mm_strdup("without unique"); } #line 56131 "preproc.c" break; case 2312: /* json_key_uniqueness_constraint_opt: %empty */ #line 13591 "preproc.y" { (yyval.str)=EMPTY; } #line 56138 "preproc.c" break; case 2313: /* json_name_and_value_list: json_name_and_value */ #line 13598 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56146 "preproc.c" break; case 2314: /* json_name_and_value_list: json_name_and_value_list ',' json_name_and_value */ #line 13602 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56154 "preproc.c" break; case 2315: /* json_name_and_value: c_expr VALUE_P json_value_expr */ #line 13610 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } #line 56162 "preproc.c" break; case 2316: /* json_name_and_value: a_expr ':' json_value_expr */ #line 13614 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(":"),(yyvsp[0].str)); } #line 56170 "preproc.c" break; case 2317: /* json_object_constructor_null_clause_opt: NULL_P ON NULL_P */ #line 13622 "preproc.y" { (yyval.str) = mm_strdup("null on null"); } #line 56178 "preproc.c" break; case 2318: /* json_object_constructor_null_clause_opt: ABSENT ON NULL_P */ #line 13626 "preproc.y" { (yyval.str) = mm_strdup("absent on null"); } #line 56186 "preproc.c" break; case 2319: /* json_object_constructor_null_clause_opt: %empty */ #line 13630 "preproc.y" { (yyval.str)=EMPTY; } #line 56193 "preproc.c" break; case 2320: /* json_array_constructor_null_clause_opt: NULL_P ON NULL_P */ #line 13637 "preproc.y" { (yyval.str) = mm_strdup("null on null"); } #line 56201 "preproc.c" break; case 2321: /* json_array_constructor_null_clause_opt: ABSENT ON NULL_P */ #line 13641 "preproc.y" { (yyval.str) = mm_strdup("absent on null"); } #line 56209 "preproc.c" break; case 2322: /* json_array_constructor_null_clause_opt: %empty */ #line 13645 "preproc.y" { (yyval.str)=EMPTY; } #line 56216 "preproc.c" break; case 2323: /* json_value_expr_list: json_value_expr */ #line 13652 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56224 "preproc.c" break; case 2324: /* json_value_expr_list: json_value_expr_list ',' json_value_expr */ #line 13656 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56232 "preproc.c" break; case 2325: /* json_aggregate_func: JSON_OBJECTAGG '(' json_name_and_value json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_output_clause_opt ')' */ #line 13664 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("json_objectagg ("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 56240 "preproc.c" break; case 2326: /* json_aggregate_func: JSON_ARRAYAGG '(' json_value_expr json_array_aggregate_order_by_clause_opt json_array_constructor_null_clause_opt json_output_clause_opt ')' */ #line 13668 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("json_arrayagg ("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } #line 56248 "preproc.c" break; case 2327: /* json_array_aggregate_order_by_clause_opt: ORDER BY sortby_list */ #line 13676 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("order by"),(yyvsp[0].str)); } #line 56256 "preproc.c" break; case 2328: /* json_array_aggregate_order_by_clause_opt: %empty */ #line 13680 "preproc.y" { (yyval.str)=EMPTY; } #line 56263 "preproc.c" break; case 2329: /* opt_target_list: target_list */ #line 13687 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56271 "preproc.c" break; case 2330: /* opt_target_list: %empty */ #line 13691 "preproc.y" { (yyval.str)=EMPTY; } #line 56278 "preproc.c" break; case 2331: /* target_list: target_el */ #line 13698 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56286 "preproc.c" break; case 2332: /* target_list: target_list ',' target_el */ #line 13702 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56294 "preproc.c" break; case 2333: /* target_el: a_expr AS ColLabel */ #line 13710 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } #line 56302 "preproc.c" break; case 2334: /* target_el: a_expr BareColLabel */ #line 13714 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56310 "preproc.c" break; case 2335: /* target_el: a_expr */ #line 13718 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56318 "preproc.c" break; case 2336: /* target_el: '*' */ #line 13722 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 56326 "preproc.c" break; case 2337: /* qualified_name_list: qualified_name */ #line 13730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56334 "preproc.c" break; case 2338: /* qualified_name_list: qualified_name_list ',' qualified_name */ #line 13734 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56342 "preproc.c" break; case 2339: /* qualified_name: ColId */ #line 13742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56350 "preproc.c" break; case 2340: /* qualified_name: ColId indirection */ #line 13746 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56358 "preproc.c" break; case 2341: /* name_list: name */ #line 13754 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56366 "preproc.c" break; case 2342: /* name_list: name_list ',' name */ #line 13758 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56374 "preproc.c" break; case 2343: /* name: ColId */ #line 13766 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56382 "preproc.c" break; case 2344: /* attr_name: ColLabel */ #line 13774 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56390 "preproc.c" break; case 2345: /* file_name: ecpg_sconst */ #line 13782 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56398 "preproc.c" break; case 2346: /* func_name: type_function_name */ #line 13790 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56406 "preproc.c" break; case 2347: /* func_name: ColId indirection */ #line 13794 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56414 "preproc.c" break; case 2348: /* AexprConst: Iconst */ #line 13802 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56422 "preproc.c" break; case 2349: /* AexprConst: ecpg_fconst */ #line 13806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56430 "preproc.c" break; case 2350: /* AexprConst: ecpg_sconst */ #line 13810 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56438 "preproc.c" break; case 2351: /* AexprConst: ecpg_bconst */ #line 13814 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56446 "preproc.c" break; case 2352: /* AexprConst: ecpg_xconst */ #line 13818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56454 "preproc.c" break; case 2353: /* AexprConst: func_name ecpg_sconst */ #line 13822 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56462 "preproc.c" break; case 2354: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' ecpg_sconst */ #line 13826 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),mm_strdup("("),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 56470 "preproc.c" break; case 2355: /* AexprConst: ConstTypename ecpg_sconst */ #line 13830 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } #line 56478 "preproc.c" break; case 2356: /* AexprConst: ConstInterval ecpg_sconst opt_interval */ #line 13834 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } #line 56486 "preproc.c" break; case 2357: /* AexprConst: ConstInterval '(' Iconst ')' ecpg_sconst */ #line 13838 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } #line 56494 "preproc.c" break; case 2358: /* AexprConst: TRUE_P */ #line 13842 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 56502 "preproc.c" break; case 2359: /* AexprConst: FALSE_P */ #line 13846 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 56510 "preproc.c" break; case 2360: /* AexprConst: NULL_P */ #line 13850 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 56518 "preproc.c" break; case 2361: /* AexprConst: civar */ #line 13853 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56524 "preproc.c" break; case 2362: /* AexprConst: civarind */ #line 13854 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56530 "preproc.c" break; case 2363: /* Iconst: ICONST */ #line 13860 "preproc.y" { (yyval.str) = make_name(); } #line 56536 "preproc.c" break; case 2364: /* SignedIconst: Iconst */ #line 13866 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56544 "preproc.c" break; case 2365: /* SignedIconst: civar */ #line 13869 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56550 "preproc.c" break; case 2366: /* SignedIconst: '+' Iconst */ #line 13871 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } #line 56558 "preproc.c" break; case 2367: /* SignedIconst: '-' Iconst */ #line 13875 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } #line 56566 "preproc.c" break; case 2368: /* RoleId: RoleSpec */ #line 13883 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56574 "preproc.c" break; case 2369: /* RoleSpec: NonReservedWord */ #line 13891 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56582 "preproc.c" break; case 2370: /* RoleSpec: CURRENT_ROLE */ #line 13895 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 56590 "preproc.c" break; case 2371: /* RoleSpec: CURRENT_USER */ #line 13899 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 56598 "preproc.c" break; case 2372: /* RoleSpec: SESSION_USER */ #line 13903 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 56606 "preproc.c" break; case 2373: /* role_list: RoleSpec */ #line 13911 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56614 "preproc.c" break; case 2374: /* role_list: role_list ',' RoleSpec */ #line 13915 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } #line 56622 "preproc.c" break; case 2375: /* NonReservedWord: ecpg_ident */ #line 13923 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56630 "preproc.c" break; case 2376: /* NonReservedWord: unreserved_keyword */ #line 13927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56638 "preproc.c" break; case 2377: /* NonReservedWord: col_name_keyword */ #line 13931 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56646 "preproc.c" break; case 2378: /* NonReservedWord: type_func_name_keyword */ #line 13935 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56654 "preproc.c" break; case 2379: /* BareColLabel: ecpg_ident */ #line 13943 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56662 "preproc.c" break; case 2380: /* BareColLabel: bare_label_keyword */ #line 13947 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 56670 "preproc.c" break; case 2381: /* unreserved_keyword: ABORT_P */ #line 13955 "preproc.y" { (yyval.str) = mm_strdup("abort"); } #line 56678 "preproc.c" break; case 2382: /* unreserved_keyword: ABSENT */ #line 13959 "preproc.y" { (yyval.str) = mm_strdup("absent"); } #line 56686 "preproc.c" break; case 2383: /* unreserved_keyword: ABSOLUTE_P */ #line 13963 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } #line 56694 "preproc.c" break; case 2384: /* unreserved_keyword: ACCESS */ #line 13967 "preproc.y" { (yyval.str) = mm_strdup("access"); } #line 56702 "preproc.c" break; case 2385: /* unreserved_keyword: ACTION */ #line 13971 "preproc.y" { (yyval.str) = mm_strdup("action"); } #line 56710 "preproc.c" break; case 2386: /* unreserved_keyword: ADD_P */ #line 13975 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 56718 "preproc.c" break; case 2387: /* unreserved_keyword: ADMIN */ #line 13979 "preproc.y" { (yyval.str) = mm_strdup("admin"); } #line 56726 "preproc.c" break; case 2388: /* unreserved_keyword: AFTER */ #line 13983 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 56734 "preproc.c" break; case 2389: /* unreserved_keyword: AGGREGATE */ #line 13987 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } #line 56742 "preproc.c" break; case 2390: /* unreserved_keyword: ALSO */ #line 13991 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 56750 "preproc.c" break; case 2391: /* unreserved_keyword: ALTER */ #line 13995 "preproc.y" { (yyval.str) = mm_strdup("alter"); } #line 56758 "preproc.c" break; case 2392: /* unreserved_keyword: ALWAYS */ #line 13999 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 56766 "preproc.c" break; case 2393: /* unreserved_keyword: ASENSITIVE */ #line 14003 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } #line 56774 "preproc.c" break; case 2394: /* unreserved_keyword: ASSERTION */ #line 14007 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } #line 56782 "preproc.c" break; case 2395: /* unreserved_keyword: ASSIGNMENT */ #line 14011 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } #line 56790 "preproc.c" break; case 2396: /* unreserved_keyword: AT */ #line 14015 "preproc.y" { (yyval.str) = mm_strdup("at"); } #line 56798 "preproc.c" break; case 2397: /* unreserved_keyword: ATOMIC */ #line 14019 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } #line 56806 "preproc.c" break; case 2398: /* unreserved_keyword: ATTACH */ #line 14023 "preproc.y" { (yyval.str) = mm_strdup("attach"); } #line 56814 "preproc.c" break; case 2399: /* unreserved_keyword: ATTRIBUTE */ #line 14027 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } #line 56822 "preproc.c" break; case 2400: /* unreserved_keyword: BACKWARD */ #line 14031 "preproc.y" { (yyval.str) = mm_strdup("backward"); } #line 56830 "preproc.c" break; case 2401: /* unreserved_keyword: BEFORE */ #line 14035 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 56838 "preproc.c" break; case 2402: /* unreserved_keyword: BEGIN_P */ #line 14039 "preproc.y" { (yyval.str) = mm_strdup("begin"); } #line 56846 "preproc.c" break; case 2403: /* unreserved_keyword: BREADTH */ #line 14043 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } #line 56854 "preproc.c" break; case 2404: /* unreserved_keyword: BY */ #line 14047 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 56862 "preproc.c" break; case 2405: /* unreserved_keyword: CACHE */ #line 14051 "preproc.y" { (yyval.str) = mm_strdup("cache"); } #line 56870 "preproc.c" break; case 2406: /* unreserved_keyword: CALL */ #line 14055 "preproc.y" { (yyval.str) = mm_strdup("call"); } #line 56878 "preproc.c" break; case 2407: /* unreserved_keyword: CALLED */ #line 14059 "preproc.y" { (yyval.str) = mm_strdup("called"); } #line 56886 "preproc.c" break; case 2408: /* unreserved_keyword: CASCADE */ #line 14063 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 56894 "preproc.c" break; case 2409: /* unreserved_keyword: CASCADED */ #line 14067 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } #line 56902 "preproc.c" break; case 2410: /* unreserved_keyword: CATALOG_P */ #line 14071 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } #line 56910 "preproc.c" break; case 2411: /* unreserved_keyword: CHAIN */ #line 14075 "preproc.y" { (yyval.str) = mm_strdup("chain"); } #line 56918 "preproc.c" break; case 2412: /* unreserved_keyword: CHARACTERISTICS */ #line 14079 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } #line 56926 "preproc.c" break; case 2413: /* unreserved_keyword: CHECKPOINT */ #line 14083 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 56934 "preproc.c" break; case 2414: /* unreserved_keyword: CLASS */ #line 14087 "preproc.y" { (yyval.str) = mm_strdup("class"); } #line 56942 "preproc.c" break; case 2415: /* unreserved_keyword: CLOSE */ #line 14091 "preproc.y" { (yyval.str) = mm_strdup("close"); } #line 56950 "preproc.c" break; case 2416: /* unreserved_keyword: CLUSTER */ #line 14095 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } #line 56958 "preproc.c" break; case 2417: /* unreserved_keyword: COLUMNS */ #line 14099 "preproc.y" { (yyval.str) = mm_strdup("columns"); } #line 56966 "preproc.c" break; case 2418: /* unreserved_keyword: COMMENT */ #line 14103 "preproc.y" { (yyval.str) = mm_strdup("comment"); } #line 56974 "preproc.c" break; case 2419: /* unreserved_keyword: COMMENTS */ #line 14107 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 56982 "preproc.c" break; case 2420: /* unreserved_keyword: COMMIT */ #line 14111 "preproc.y" { (yyval.str) = mm_strdup("commit"); } #line 56990 "preproc.c" break; case 2421: /* unreserved_keyword: COMMITTED */ #line 14115 "preproc.y" { (yyval.str) = mm_strdup("committed"); } #line 56998 "preproc.c" break; case 2422: /* unreserved_keyword: COMPRESSION */ #line 14119 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 57006 "preproc.c" break; case 2423: /* unreserved_keyword: CONFIGURATION */ #line 14123 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } #line 57014 "preproc.c" break; case 2424: /* unreserved_keyword: CONFLICT */ #line 14127 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } #line 57022 "preproc.c" break; case 2425: /* unreserved_keyword: CONSTRAINTS */ #line 14131 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 57030 "preproc.c" break; case 2426: /* unreserved_keyword: CONTENT_P */ #line 14135 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 57038 "preproc.c" break; case 2427: /* unreserved_keyword: CONTINUE_P */ #line 14139 "preproc.y" { (yyval.str) = mm_strdup("continue"); } #line 57046 "preproc.c" break; case 2428: /* unreserved_keyword: CONVERSION_P */ #line 14143 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 57054 "preproc.c" break; case 2429: /* unreserved_keyword: COPY */ #line 14147 "preproc.y" { (yyval.str) = mm_strdup("copy"); } #line 57062 "preproc.c" break; case 2430: /* unreserved_keyword: COST */ #line 14151 "preproc.y" { (yyval.str) = mm_strdup("cost"); } #line 57070 "preproc.c" break; case 2431: /* unreserved_keyword: CSV */ #line 14155 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 57078 "preproc.c" break; case 2432: /* unreserved_keyword: CUBE */ #line 14159 "preproc.y" { (yyval.str) = mm_strdup("cube"); } #line 57086 "preproc.c" break; case 2433: /* unreserved_keyword: CURSOR */ #line 14163 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } #line 57094 "preproc.c" break; case 2434: /* unreserved_keyword: CYCLE */ #line 14167 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 57102 "preproc.c" break; case 2435: /* unreserved_keyword: DATA_P */ #line 14171 "preproc.y" { (yyval.str) = mm_strdup("data"); } #line 57110 "preproc.c" break; case 2436: /* unreserved_keyword: DATABASE */ #line 14175 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 57118 "preproc.c" break; case 2437: /* unreserved_keyword: DEALLOCATE */ #line 14179 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } #line 57126 "preproc.c" break; case 2438: /* unreserved_keyword: DECLARE */ #line 14183 "preproc.y" { (yyval.str) = mm_strdup("declare"); } #line 57134 "preproc.c" break; case 2439: /* unreserved_keyword: DEFAULTS */ #line 14187 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 57142 "preproc.c" break; case 2440: /* unreserved_keyword: DEFERRED */ #line 14191 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 57150 "preproc.c" break; case 2441: /* unreserved_keyword: DEFINER */ #line 14195 "preproc.y" { (yyval.str) = mm_strdup("definer"); } #line 57158 "preproc.c" break; case 2442: /* unreserved_keyword: DELETE_P */ #line 14199 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 57166 "preproc.c" break; case 2443: /* unreserved_keyword: DELIMITER */ #line 14203 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } #line 57174 "preproc.c" break; case 2444: /* unreserved_keyword: DELIMITERS */ #line 14207 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } #line 57182 "preproc.c" break; case 2445: /* unreserved_keyword: DEPENDS */ #line 14211 "preproc.y" { (yyval.str) = mm_strdup("depends"); } #line 57190 "preproc.c" break; case 2446: /* unreserved_keyword: DEPTH */ #line 14215 "preproc.y" { (yyval.str) = mm_strdup("depth"); } #line 57198 "preproc.c" break; case 2447: /* unreserved_keyword: DETACH */ #line 14219 "preproc.y" { (yyval.str) = mm_strdup("detach"); } #line 57206 "preproc.c" break; case 2448: /* unreserved_keyword: DICTIONARY */ #line 14223 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } #line 57214 "preproc.c" break; case 2449: /* unreserved_keyword: DISABLE_P */ #line 14227 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 57222 "preproc.c" break; case 2450: /* unreserved_keyword: DISCARD */ #line 14231 "preproc.y" { (yyval.str) = mm_strdup("discard"); } #line 57230 "preproc.c" break; case 2451: /* unreserved_keyword: DOCUMENT_P */ #line 14235 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 57238 "preproc.c" break; case 2452: /* unreserved_keyword: DOMAIN_P */ #line 14239 "preproc.y" { (yyval.str) = mm_strdup("domain"); } #line 57246 "preproc.c" break; case 2453: /* unreserved_keyword: DOUBLE_P */ #line 14243 "preproc.y" { (yyval.str) = mm_strdup("double"); } #line 57254 "preproc.c" break; case 2454: /* unreserved_keyword: DROP */ #line 14247 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 57262 "preproc.c" break; case 2455: /* unreserved_keyword: EACH */ #line 14251 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 57270 "preproc.c" break; case 2456: /* unreserved_keyword: ENABLE_P */ #line 14255 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 57278 "preproc.c" break; case 2457: /* unreserved_keyword: ENCODING */ #line 14259 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 57286 "preproc.c" break; case 2458: /* unreserved_keyword: ENCRYPTED */ #line 14263 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } #line 57294 "preproc.c" break; case 2459: /* unreserved_keyword: ENUM_P */ #line 14267 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 57302 "preproc.c" break; case 2460: /* unreserved_keyword: ESCAPE */ #line 14271 "preproc.y" { (yyval.str) = mm_strdup("escape"); } #line 57310 "preproc.c" break; case 2461: /* unreserved_keyword: EVENT */ #line 14275 "preproc.y" { (yyval.str) = mm_strdup("event"); } #line 57318 "preproc.c" break; case 2462: /* unreserved_keyword: EXCLUDE */ #line 14279 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } #line 57326 "preproc.c" break; case 2463: /* unreserved_keyword: EXCLUDING */ #line 14283 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } #line 57334 "preproc.c" break; case 2464: /* unreserved_keyword: EXCLUSIVE */ #line 14287 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 57342 "preproc.c" break; case 2465: /* unreserved_keyword: EXECUTE */ #line 14291 "preproc.y" { (yyval.str) = mm_strdup("execute"); } #line 57350 "preproc.c" break; case 2466: /* unreserved_keyword: EXPLAIN */ #line 14295 "preproc.y" { (yyval.str) = mm_strdup("explain"); } #line 57358 "preproc.c" break; case 2467: /* unreserved_keyword: EXPRESSION */ #line 14299 "preproc.y" { (yyval.str) = mm_strdup("expression"); } #line 57366 "preproc.c" break; case 2468: /* unreserved_keyword: EXTENSION */ #line 14303 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 57374 "preproc.c" break; case 2469: /* unreserved_keyword: EXTERNAL */ #line 14307 "preproc.y" { (yyval.str) = mm_strdup("external"); } #line 57382 "preproc.c" break; case 2470: /* unreserved_keyword: FAMILY */ #line 14311 "preproc.y" { (yyval.str) = mm_strdup("family"); } #line 57390 "preproc.c" break; case 2471: /* unreserved_keyword: FILTER */ #line 14315 "preproc.y" { (yyval.str) = mm_strdup("filter"); } #line 57398 "preproc.c" break; case 2472: /* unreserved_keyword: FINALIZE */ #line 14319 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } #line 57406 "preproc.c" break; case 2473: /* unreserved_keyword: FIRST_P */ #line 14323 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 57414 "preproc.c" break; case 2474: /* unreserved_keyword: FOLLOWING */ #line 14327 "preproc.y" { (yyval.str) = mm_strdup("following"); } #line 57422 "preproc.c" break; case 2475: /* unreserved_keyword: FORCE */ #line 14331 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 57430 "preproc.c" break; case 2476: /* unreserved_keyword: FORMAT */ #line 14335 "preproc.y" { (yyval.str) = mm_strdup("format"); } #line 57438 "preproc.c" break; case 2477: /* unreserved_keyword: FORWARD */ #line 14339 "preproc.y" { (yyval.str) = mm_strdup("forward"); } #line 57446 "preproc.c" break; case 2478: /* unreserved_keyword: FUNCTION */ #line 14343 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 57454 "preproc.c" break; case 2479: /* unreserved_keyword: FUNCTIONS */ #line 14347 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 57462 "preproc.c" break; case 2480: /* unreserved_keyword: GENERATED */ #line 14351 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 57470 "preproc.c" break; case 2481: /* unreserved_keyword: GLOBAL */ #line 14355 "preproc.y" { (yyval.str) = mm_strdup("global"); } #line 57478 "preproc.c" break; case 2482: /* unreserved_keyword: GRANTED */ #line 14359 "preproc.y" { (yyval.str) = mm_strdup("granted"); } #line 57486 "preproc.c" break; case 2483: /* unreserved_keyword: GROUPS */ #line 14363 "preproc.y" { (yyval.str) = mm_strdup("groups"); } #line 57494 "preproc.c" break; case 2484: /* unreserved_keyword: HANDLER */ #line 14367 "preproc.y" { (yyval.str) = mm_strdup("handler"); } #line 57502 "preproc.c" break; case 2485: /* unreserved_keyword: HEADER_P */ #line 14371 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 57510 "preproc.c" break; case 2486: /* unreserved_keyword: HOLD */ #line 14375 "preproc.y" { (yyval.str) = mm_strdup("hold"); } #line 57518 "preproc.c" break; case 2487: /* unreserved_keyword: IDENTITY_P */ #line 14379 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 57526 "preproc.c" break; case 2488: /* unreserved_keyword: IF_P */ #line 14383 "preproc.y" { (yyval.str) = mm_strdup("if"); } #line 57534 "preproc.c" break; case 2489: /* unreserved_keyword: IMMEDIATE */ #line 14387 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 57542 "preproc.c" break; case 2490: /* unreserved_keyword: IMMUTABLE */ #line 14391 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 57550 "preproc.c" break; case 2491: /* unreserved_keyword: IMPLICIT_P */ #line 14395 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } #line 57558 "preproc.c" break; case 2492: /* unreserved_keyword: IMPORT_P */ #line 14399 "preproc.y" { (yyval.str) = mm_strdup("import"); } #line 57566 "preproc.c" break; case 2493: /* unreserved_keyword: INCLUDE */ #line 14403 "preproc.y" { (yyval.str) = mm_strdup("include"); } #line 57574 "preproc.c" break; case 2494: /* unreserved_keyword: INCLUDING */ #line 14407 "preproc.y" { (yyval.str) = mm_strdup("including"); } #line 57582 "preproc.c" break; case 2495: /* unreserved_keyword: INCREMENT */ #line 14411 "preproc.y" { (yyval.str) = mm_strdup("increment"); } #line 57590 "preproc.c" break; case 2496: /* unreserved_keyword: INDENT */ #line 14415 "preproc.y" { (yyval.str) = mm_strdup("indent"); } #line 57598 "preproc.c" break; case 2497: /* unreserved_keyword: INDEX */ #line 14419 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 57606 "preproc.c" break; case 2498: /* unreserved_keyword: INDEXES */ #line 14423 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 57614 "preproc.c" break; case 2499: /* unreserved_keyword: INHERIT */ #line 14427 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 57622 "preproc.c" break; case 2500: /* unreserved_keyword: INHERITS */ #line 14431 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } #line 57630 "preproc.c" break; case 2501: /* unreserved_keyword: INLINE_P */ #line 14435 "preproc.y" { (yyval.str) = mm_strdup("inline"); } #line 57638 "preproc.c" break; case 2502: /* unreserved_keyword: INSENSITIVE */ #line 14439 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } #line 57646 "preproc.c" break; case 2503: /* unreserved_keyword: INSERT */ #line 14443 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 57654 "preproc.c" break; case 2504: /* unreserved_keyword: INSTEAD */ #line 14447 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 57662 "preproc.c" break; case 2505: /* unreserved_keyword: INVOKER */ #line 14451 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } #line 57670 "preproc.c" break; case 2506: /* unreserved_keyword: ISOLATION */ #line 14455 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } #line 57678 "preproc.c" break; case 2507: /* unreserved_keyword: JSON */ #line 14459 "preproc.y" { (yyval.str) = mm_strdup("json"); } #line 57686 "preproc.c" break; case 2508: /* unreserved_keyword: KEY */ #line 14463 "preproc.y" { (yyval.str) = mm_strdup("key"); } #line 57694 "preproc.c" break; case 2509: /* unreserved_keyword: KEYS */ #line 14467 "preproc.y" { (yyval.str) = mm_strdup("keys"); } #line 57702 "preproc.c" break; case 2510: /* unreserved_keyword: LABEL */ #line 14471 "preproc.y" { (yyval.str) = mm_strdup("label"); } #line 57710 "preproc.c" break; case 2511: /* unreserved_keyword: LANGUAGE */ #line 14475 "preproc.y" { (yyval.str) = mm_strdup("language"); } #line 57718 "preproc.c" break; case 2512: /* unreserved_keyword: LARGE_P */ #line 14479 "preproc.y" { (yyval.str) = mm_strdup("large"); } #line 57726 "preproc.c" break; case 2513: /* unreserved_keyword: LAST_P */ #line 14483 "preproc.y" { (yyval.str) = mm_strdup("last"); } #line 57734 "preproc.c" break; case 2514: /* unreserved_keyword: LEAKPROOF */ #line 14487 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 57742 "preproc.c" break; case 2515: /* unreserved_keyword: LEVEL */ #line 14491 "preproc.y" { (yyval.str) = mm_strdup("level"); } #line 57750 "preproc.c" break; case 2516: /* unreserved_keyword: LISTEN */ #line 14495 "preproc.y" { (yyval.str) = mm_strdup("listen"); } #line 57758 "preproc.c" break; case 2517: /* unreserved_keyword: LOAD */ #line 14499 "preproc.y" { (yyval.str) = mm_strdup("load"); } #line 57766 "preproc.c" break; case 2518: /* unreserved_keyword: LOCAL */ #line 14503 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 57774 "preproc.c" break; case 2519: /* unreserved_keyword: LOCATION */ #line 14507 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 57782 "preproc.c" break; case 2520: /* unreserved_keyword: LOCK_P */ #line 14511 "preproc.y" { (yyval.str) = mm_strdup("lock"); } #line 57790 "preproc.c" break; case 2521: /* unreserved_keyword: LOCKED */ #line 14515 "preproc.y" { (yyval.str) = mm_strdup("locked"); } #line 57798 "preproc.c" break; case 2522: /* unreserved_keyword: LOGGED */ #line 14519 "preproc.y" { (yyval.str) = mm_strdup("logged"); } #line 57806 "preproc.c" break; case 2523: /* unreserved_keyword: MAPPING */ #line 14523 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } #line 57814 "preproc.c" break; case 2524: /* unreserved_keyword: MATCH */ #line 14527 "preproc.y" { (yyval.str) = mm_strdup("match"); } #line 57822 "preproc.c" break; case 2525: /* unreserved_keyword: MATCHED */ #line 14531 "preproc.y" { (yyval.str) = mm_strdup("matched"); } #line 57830 "preproc.c" break; case 2526: /* unreserved_keyword: MATERIALIZED */ #line 14535 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 57838 "preproc.c" break; case 2527: /* unreserved_keyword: MAXVALUE */ #line 14539 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } #line 57846 "preproc.c" break; case 2528: /* unreserved_keyword: MERGE */ #line 14543 "preproc.y" { (yyval.str) = mm_strdup("merge"); } #line 57854 "preproc.c" break; case 2529: /* unreserved_keyword: METHOD */ #line 14547 "preproc.y" { (yyval.str) = mm_strdup("method"); } #line 57862 "preproc.c" break; case 2530: /* unreserved_keyword: MINVALUE */ #line 14551 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } #line 57870 "preproc.c" break; case 2531: /* unreserved_keyword: MODE */ #line 14555 "preproc.y" { (yyval.str) = mm_strdup("mode"); } #line 57878 "preproc.c" break; case 2532: /* unreserved_keyword: MOVE */ #line 14559 "preproc.y" { (yyval.str) = mm_strdup("move"); } #line 57886 "preproc.c" break; case 2533: /* unreserved_keyword: NAME_P */ #line 14563 "preproc.y" { (yyval.str) = mm_strdup("name"); } #line 57894 "preproc.c" break; case 2534: /* unreserved_keyword: NAMES */ #line 14567 "preproc.y" { (yyval.str) = mm_strdup("names"); } #line 57902 "preproc.c" break; case 2535: /* unreserved_keyword: NEW */ #line 14571 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 57910 "preproc.c" break; case 2536: /* unreserved_keyword: NEXT */ #line 14575 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 57918 "preproc.c" break; case 2537: /* unreserved_keyword: NFC */ #line 14579 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 57926 "preproc.c" break; case 2538: /* unreserved_keyword: NFD */ #line 14583 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 57934 "preproc.c" break; case 2539: /* unreserved_keyword: NFKC */ #line 14587 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 57942 "preproc.c" break; case 2540: /* unreserved_keyword: NFKD */ #line 14591 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 57950 "preproc.c" break; case 2541: /* unreserved_keyword: NO */ #line 14595 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 57958 "preproc.c" break; case 2542: /* unreserved_keyword: NORMALIZED */ #line 14599 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } #line 57966 "preproc.c" break; case 2543: /* unreserved_keyword: NOTHING */ #line 14603 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 57974 "preproc.c" break; case 2544: /* unreserved_keyword: NOTIFY */ #line 14607 "preproc.y" { (yyval.str) = mm_strdup("notify"); } #line 57982 "preproc.c" break; case 2545: /* unreserved_keyword: NOWAIT */ #line 14611 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 57990 "preproc.c" break; case 2546: /* unreserved_keyword: NULLS_P */ #line 14615 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } #line 57998 "preproc.c" break; case 2547: /* unreserved_keyword: OBJECT_P */ #line 14619 "preproc.y" { (yyval.str) = mm_strdup("object"); } #line 58006 "preproc.c" break; case 2548: /* unreserved_keyword: OF */ #line 14623 "preproc.y" { (yyval.str) = mm_strdup("of"); } #line 58014 "preproc.c" break; case 2549: /* unreserved_keyword: OFF */ #line 14627 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 58022 "preproc.c" break; case 2550: /* unreserved_keyword: OIDS */ #line 14631 "preproc.y" { (yyval.str) = mm_strdup("oids"); } #line 58030 "preproc.c" break; case 2551: /* unreserved_keyword: OLD */ #line 14635 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 58038 "preproc.c" break; case 2552: /* unreserved_keyword: OPERATOR */ #line 14639 "preproc.y" { (yyval.str) = mm_strdup("operator"); } #line 58046 "preproc.c" break; case 2553: /* unreserved_keyword: OPTION */ #line 14643 "preproc.y" { (yyval.str) = mm_strdup("option"); } #line 58054 "preproc.c" break; case 2554: /* unreserved_keyword: OPTIONS */ #line 14647 "preproc.y" { (yyval.str) = mm_strdup("options"); } #line 58062 "preproc.c" break; case 2555: /* unreserved_keyword: ORDINALITY */ #line 14651 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } #line 58070 "preproc.c" break; case 2556: /* unreserved_keyword: OTHERS */ #line 14655 "preproc.y" { (yyval.str) = mm_strdup("others"); } #line 58078 "preproc.c" break; case 2557: /* unreserved_keyword: OVER */ #line 14659 "preproc.y" { (yyval.str) = mm_strdup("over"); } #line 58086 "preproc.c" break; case 2558: /* unreserved_keyword: OVERRIDING */ #line 14663 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } #line 58094 "preproc.c" break; case 2559: /* unreserved_keyword: OWNED */ #line 14667 "preproc.y" { (yyval.str) = mm_strdup("owned"); } #line 58102 "preproc.c" break; case 2560: /* unreserved_keyword: OWNER */ #line 14671 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 58110 "preproc.c" break; case 2561: /* unreserved_keyword: PARALLEL */ #line 14675 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } #line 58118 "preproc.c" break; case 2562: /* unreserved_keyword: PARAMETER */ #line 14679 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } #line 58126 "preproc.c" break; case 2563: /* unreserved_keyword: PARSER */ #line 14683 "preproc.y" { (yyval.str) = mm_strdup("parser"); } #line 58134 "preproc.c" break; case 2564: /* unreserved_keyword: PARTIAL */ #line 14687 "preproc.y" { (yyval.str) = mm_strdup("partial"); } #line 58142 "preproc.c" break; case 2565: /* unreserved_keyword: PARTITION */ #line 14691 "preproc.y" { (yyval.str) = mm_strdup("partition"); } #line 58150 "preproc.c" break; case 2566: /* unreserved_keyword: PASSING */ #line 14695 "preproc.y" { (yyval.str) = mm_strdup("passing"); } #line 58158 "preproc.c" break; case 2567: /* unreserved_keyword: PASSWORD */ #line 14699 "preproc.y" { (yyval.str) = mm_strdup("password"); } #line 58166 "preproc.c" break; case 2568: /* unreserved_keyword: PLANS */ #line 14703 "preproc.y" { (yyval.str) = mm_strdup("plans"); } #line 58174 "preproc.c" break; case 2569: /* unreserved_keyword: POLICY */ #line 14707 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 58182 "preproc.c" break; case 2570: /* unreserved_keyword: PRECEDING */ #line 14711 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } #line 58190 "preproc.c" break; case 2571: /* unreserved_keyword: PREPARE */ #line 14715 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } #line 58198 "preproc.c" break; case 2572: /* unreserved_keyword: PREPARED */ #line 14719 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } #line 58206 "preproc.c" break; case 2573: /* unreserved_keyword: PRESERVE */ #line 14723 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } #line 58214 "preproc.c" break; case 2574: /* unreserved_keyword: PRIOR */ #line 14727 "preproc.y" { (yyval.str) = mm_strdup("prior"); } #line 58222 "preproc.c" break; case 2575: /* unreserved_keyword: PRIVILEGES */ #line 14731 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } #line 58230 "preproc.c" break; case 2576: /* unreserved_keyword: PROCEDURAL */ #line 14735 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 58238 "preproc.c" break; case 2577: /* unreserved_keyword: PROCEDURE */ #line 14739 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 58246 "preproc.c" break; case 2578: /* unreserved_keyword: PROCEDURES */ #line 14743 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } #line 58254 "preproc.c" break; case 2579: /* unreserved_keyword: PROGRAM */ #line 14747 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 58262 "preproc.c" break; case 2580: /* unreserved_keyword: PUBLICATION */ #line 14751 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 58270 "preproc.c" break; case 2581: /* unreserved_keyword: QUOTE */ #line 14755 "preproc.y" { (yyval.str) = mm_strdup("quote"); } #line 58278 "preproc.c" break; case 2582: /* unreserved_keyword: RANGE */ #line 14759 "preproc.y" { (yyval.str) = mm_strdup("range"); } #line 58286 "preproc.c" break; case 2583: /* unreserved_keyword: READ */ #line 14763 "preproc.y" { (yyval.str) = mm_strdup("read"); } #line 58294 "preproc.c" break; case 2584: /* unreserved_keyword: REASSIGN */ #line 14767 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } #line 58302 "preproc.c" break; case 2585: /* unreserved_keyword: RECHECK */ #line 14771 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } #line 58310 "preproc.c" break; case 2586: /* unreserved_keyword: RECURSIVE */ #line 14775 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } #line 58318 "preproc.c" break; case 2587: /* unreserved_keyword: REF_P */ #line 14779 "preproc.y" { (yyval.str) = mm_strdup("ref"); } #line 58326 "preproc.c" break; case 2588: /* unreserved_keyword: REFERENCING */ #line 14783 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } #line 58334 "preproc.c" break; case 2589: /* unreserved_keyword: REFRESH */ #line 14787 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } #line 58342 "preproc.c" break; case 2590: /* unreserved_keyword: REINDEX */ #line 14791 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } #line 58350 "preproc.c" break; case 2591: /* unreserved_keyword: RELATIVE_P */ #line 14795 "preproc.y" { (yyval.str) = mm_strdup("relative"); } #line 58358 "preproc.c" break; case 2592: /* unreserved_keyword: RELEASE */ #line 14799 "preproc.y" { (yyval.str) = mm_strdup("release"); } #line 58366 "preproc.c" break; case 2593: /* unreserved_keyword: RENAME */ #line 14803 "preproc.y" { (yyval.str) = mm_strdup("rename"); } #line 58374 "preproc.c" break; case 2594: /* unreserved_keyword: REPEATABLE */ #line 14807 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } #line 58382 "preproc.c" break; case 2595: /* unreserved_keyword: REPLACE */ #line 14811 "preproc.y" { (yyval.str) = mm_strdup("replace"); } #line 58390 "preproc.c" break; case 2596: /* unreserved_keyword: REPLICA */ #line 14815 "preproc.y" { (yyval.str) = mm_strdup("replica"); } #line 58398 "preproc.c" break; case 2597: /* unreserved_keyword: RESET */ #line 14819 "preproc.y" { (yyval.str) = mm_strdup("reset"); } #line 58406 "preproc.c" break; case 2598: /* unreserved_keyword: RESTART */ #line 14823 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 58414 "preproc.c" break; case 2599: /* unreserved_keyword: RESTRICT */ #line 14827 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 58422 "preproc.c" break; case 2600: /* unreserved_keyword: RETURN */ #line 14831 "preproc.y" { (yyval.str) = mm_strdup("return"); } #line 58430 "preproc.c" break; case 2601: /* unreserved_keyword: RETURNS */ #line 14835 "preproc.y" { (yyval.str) = mm_strdup("returns"); } #line 58438 "preproc.c" break; case 2602: /* unreserved_keyword: REVOKE */ #line 14839 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } #line 58446 "preproc.c" break; case 2603: /* unreserved_keyword: ROLE */ #line 14843 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 58454 "preproc.c" break; case 2604: /* unreserved_keyword: ROLLBACK */ #line 14847 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } #line 58462 "preproc.c" break; case 2605: /* unreserved_keyword: ROLLUP */ #line 14851 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } #line 58470 "preproc.c" break; case 2606: /* unreserved_keyword: ROUTINE */ #line 14855 "preproc.y" { (yyval.str) = mm_strdup("routine"); } #line 58478 "preproc.c" break; case 2607: /* unreserved_keyword: ROUTINES */ #line 14859 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 58486 "preproc.c" break; case 2608: /* unreserved_keyword: ROWS */ #line 14863 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 58494 "preproc.c" break; case 2609: /* unreserved_keyword: RULE */ #line 14867 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 58502 "preproc.c" break; case 2610: /* unreserved_keyword: SAVEPOINT */ #line 14871 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } #line 58510 "preproc.c" break; case 2611: /* unreserved_keyword: SCALAR */ #line 14875 "preproc.y" { (yyval.str) = mm_strdup("scalar"); } #line 58518 "preproc.c" break; case 2612: /* unreserved_keyword: SCHEMA */ #line 14879 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 58526 "preproc.c" break; case 2613: /* unreserved_keyword: SCHEMAS */ #line 14883 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 58534 "preproc.c" break; case 2614: /* unreserved_keyword: SCROLL */ #line 14887 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } #line 58542 "preproc.c" break; case 2615: /* unreserved_keyword: SEARCH */ #line 14891 "preproc.y" { (yyval.str) = mm_strdup("search"); } #line 58550 "preproc.c" break; case 2616: /* unreserved_keyword: SECURITY */ #line 14895 "preproc.y" { (yyval.str) = mm_strdup("security"); } #line 58558 "preproc.c" break; case 2617: /* unreserved_keyword: SEQUENCE */ #line 14899 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 58566 "preproc.c" break; case 2618: /* unreserved_keyword: SEQUENCES */ #line 14903 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 58574 "preproc.c" break; case 2619: /* unreserved_keyword: SERIALIZABLE */ #line 14907 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 58582 "preproc.c" break; case 2620: /* unreserved_keyword: SERVER */ #line 14911 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 58590 "preproc.c" break; case 2621: /* unreserved_keyword: SESSION */ #line 14915 "preproc.y" { (yyval.str) = mm_strdup("session"); } #line 58598 "preproc.c" break; case 2622: /* unreserved_keyword: SET */ #line 14919 "preproc.y" { (yyval.str) = mm_strdup("set"); } #line 58606 "preproc.c" break; case 2623: /* unreserved_keyword: SETS */ #line 14923 "preproc.y" { (yyval.str) = mm_strdup("sets"); } #line 58614 "preproc.c" break; case 2624: /* unreserved_keyword: SHARE */ #line 14927 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 58622 "preproc.c" break; case 2625: /* unreserved_keyword: SHOW */ #line 14931 "preproc.y" { (yyval.str) = mm_strdup("show"); } #line 58630 "preproc.c" break; case 2626: /* unreserved_keyword: SIMPLE */ #line 14935 "preproc.y" { (yyval.str) = mm_strdup("simple"); } #line 58638 "preproc.c" break; case 2627: /* unreserved_keyword: SKIP */ #line 14939 "preproc.y" { (yyval.str) = mm_strdup("skip"); } #line 58646 "preproc.c" break; case 2628: /* unreserved_keyword: SNAPSHOT */ #line 14943 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } #line 58654 "preproc.c" break; case 2629: /* unreserved_keyword: SQL_P */ #line 14947 "preproc.y" { (yyval.str) = mm_strdup("sql"); } #line 58662 "preproc.c" break; case 2630: /* unreserved_keyword: STABLE */ #line 14951 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 58670 "preproc.c" break; case 2631: /* unreserved_keyword: STANDALONE_P */ #line 14955 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } #line 58678 "preproc.c" break; case 2632: /* unreserved_keyword: START */ #line 14959 "preproc.y" { (yyval.str) = mm_strdup("start"); } #line 58686 "preproc.c" break; case 2633: /* unreserved_keyword: STATEMENT */ #line 14963 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 58694 "preproc.c" break; case 2634: /* unreserved_keyword: STATISTICS */ #line 14967 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 58702 "preproc.c" break; case 2635: /* unreserved_keyword: STDIN */ #line 14971 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 58710 "preproc.c" break; case 2636: /* unreserved_keyword: STDOUT */ #line 14975 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 58718 "preproc.c" break; case 2637: /* unreserved_keyword: STORAGE */ #line 14979 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 58726 "preproc.c" break; case 2638: /* unreserved_keyword: STORED */ #line 14983 "preproc.y" { (yyval.str) = mm_strdup("stored"); } #line 58734 "preproc.c" break; case 2639: /* unreserved_keyword: STRICT_P */ #line 14987 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 58742 "preproc.c" break; case 2640: /* unreserved_keyword: STRIP_P */ #line 14991 "preproc.y" { (yyval.str) = mm_strdup("strip"); } #line 58750 "preproc.c" break; case 2641: /* unreserved_keyword: SUBSCRIPTION */ #line 14995 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 58758 "preproc.c" break; case 2642: /* unreserved_keyword: SUPPORT */ #line 14999 "preproc.y" { (yyval.str) = mm_strdup("support"); } #line 58766 "preproc.c" break; case 2643: /* unreserved_keyword: SYSID */ #line 15003 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } #line 58774 "preproc.c" break; case 2644: /* unreserved_keyword: SYSTEM_P */ #line 15007 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 58782 "preproc.c" break; case 2645: /* unreserved_keyword: TABLES */ #line 15011 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 58790 "preproc.c" break; case 2646: /* unreserved_keyword: TABLESPACE */ #line 15015 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 58798 "preproc.c" break; case 2647: /* unreserved_keyword: TEMP */ #line 15019 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 58806 "preproc.c" break; case 2648: /* unreserved_keyword: TEMPLATE */ #line 15023 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 58814 "preproc.c" break; case 2649: /* unreserved_keyword: TEMPORARY */ #line 15027 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 58822 "preproc.c" break; case 2650: /* unreserved_keyword: TEXT_P */ #line 15031 "preproc.y" { (yyval.str) = mm_strdup("text"); } #line 58830 "preproc.c" break; case 2651: /* unreserved_keyword: TIES */ #line 15035 "preproc.y" { (yyval.str) = mm_strdup("ties"); } #line 58838 "preproc.c" break; case 2652: /* unreserved_keyword: TRANSACTION */ #line 15039 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 58846 "preproc.c" break; case 2653: /* unreserved_keyword: TRANSFORM */ #line 15043 "preproc.y" { (yyval.str) = mm_strdup("transform"); } #line 58854 "preproc.c" break; case 2654: /* unreserved_keyword: TRIGGER */ #line 15047 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 58862 "preproc.c" break; case 2655: /* unreserved_keyword: TRUNCATE */ #line 15051 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 58870 "preproc.c" break; case 2656: /* unreserved_keyword: TRUSTED */ #line 15055 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 58878 "preproc.c" break; case 2657: /* unreserved_keyword: TYPE_P */ #line 15059 "preproc.y" { (yyval.str) = mm_strdup("type"); } #line 58886 "preproc.c" break; case 2658: /* unreserved_keyword: TYPES_P */ #line 15063 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 58894 "preproc.c" break; case 2659: /* unreserved_keyword: UESCAPE */ #line 15067 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } #line 58902 "preproc.c" break; case 2660: /* unreserved_keyword: UNBOUNDED */ #line 15071 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } #line 58910 "preproc.c" break; case 2661: /* unreserved_keyword: UNCOMMITTED */ #line 15075 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } #line 58918 "preproc.c" break; case 2662: /* unreserved_keyword: UNENCRYPTED */ #line 15079 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } #line 58926 "preproc.c" break; case 2663: /* unreserved_keyword: UNKNOWN */ #line 15083 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } #line 58934 "preproc.c" break; case 2664: /* unreserved_keyword: UNLISTEN */ #line 15087 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } #line 58942 "preproc.c" break; case 2665: /* unreserved_keyword: UNLOGGED */ #line 15091 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 58950 "preproc.c" break; case 2666: /* unreserved_keyword: UNTIL */ #line 15095 "preproc.y" { (yyval.str) = mm_strdup("until"); } #line 58958 "preproc.c" break; case 2667: /* unreserved_keyword: UPDATE */ #line 15099 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 58966 "preproc.c" break; case 2668: /* unreserved_keyword: VACUUM */ #line 15103 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } #line 58974 "preproc.c" break; case 2669: /* unreserved_keyword: VALID */ #line 15107 "preproc.y" { (yyval.str) = mm_strdup("valid"); } #line 58982 "preproc.c" break; case 2670: /* unreserved_keyword: VALIDATE */ #line 15111 "preproc.y" { (yyval.str) = mm_strdup("validate"); } #line 58990 "preproc.c" break; case 2671: /* unreserved_keyword: VALIDATOR */ #line 15115 "preproc.y" { (yyval.str) = mm_strdup("validator"); } #line 58998 "preproc.c" break; case 2672: /* unreserved_keyword: VALUE_P */ #line 15119 "preproc.y" { (yyval.str) = mm_strdup("value"); } #line 59006 "preproc.c" break; case 2673: /* unreserved_keyword: VARYING */ #line 15123 "preproc.y" { (yyval.str) = mm_strdup("varying"); } #line 59014 "preproc.c" break; case 2674: /* unreserved_keyword: VERSION_P */ #line 15127 "preproc.y" { (yyval.str) = mm_strdup("version"); } #line 59022 "preproc.c" break; case 2675: /* unreserved_keyword: VIEW */ #line 15131 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 59030 "preproc.c" break; case 2676: /* unreserved_keyword: VIEWS */ #line 15135 "preproc.y" { (yyval.str) = mm_strdup("views"); } #line 59038 "preproc.c" break; case 2677: /* unreserved_keyword: VOLATILE */ #line 15139 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 59046 "preproc.c" break; case 2678: /* unreserved_keyword: WHITESPACE_P */ #line 15143 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } #line 59054 "preproc.c" break; case 2679: /* unreserved_keyword: WITHIN */ #line 15147 "preproc.y" { (yyval.str) = mm_strdup("within"); } #line 59062 "preproc.c" break; case 2680: /* unreserved_keyword: WITHOUT */ #line 15151 "preproc.y" { (yyval.str) = mm_strdup("without"); } #line 59070 "preproc.c" break; case 2681: /* unreserved_keyword: WORK */ #line 15155 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 59078 "preproc.c" break; case 2682: /* unreserved_keyword: WRAPPER */ #line 15159 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } #line 59086 "preproc.c" break; case 2683: /* unreserved_keyword: WRITE */ #line 15163 "preproc.y" { (yyval.str) = mm_strdup("write"); } #line 59094 "preproc.c" break; case 2684: /* unreserved_keyword: XML_P */ #line 15167 "preproc.y" { (yyval.str) = mm_strdup("xml"); } #line 59102 "preproc.c" break; case 2685: /* unreserved_keyword: YES_P */ #line 15171 "preproc.y" { (yyval.str) = mm_strdup("yes"); } #line 59110 "preproc.c" break; case 2686: /* unreserved_keyword: ZONE */ #line 15175 "preproc.y" { (yyval.str) = mm_strdup("zone"); } #line 59118 "preproc.c" break; case 2687: /* col_name_keyword: BETWEEN */ #line 15183 "preproc.y" { (yyval.str) = mm_strdup("between"); } #line 59126 "preproc.c" break; case 2688: /* col_name_keyword: BIGINT */ #line 15187 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 59134 "preproc.c" break; case 2689: /* col_name_keyword: BIT */ #line 15191 "preproc.y" { (yyval.str) = mm_strdup("bit"); } #line 59142 "preproc.c" break; case 2690: /* col_name_keyword: BOOLEAN_P */ #line 15195 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 59150 "preproc.c" break; case 2691: /* col_name_keyword: CHARACTER */ #line 15199 "preproc.y" { (yyval.str) = mm_strdup("character"); } #line 59158 "preproc.c" break; case 2692: /* col_name_keyword: COALESCE */ #line 15203 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } #line 59166 "preproc.c" break; case 2693: /* col_name_keyword: DEC */ #line 15207 "preproc.y" { (yyval.str) = mm_strdup("dec"); } #line 59174 "preproc.c" break; case 2694: /* col_name_keyword: DECIMAL_P */ #line 15211 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } #line 59182 "preproc.c" break; case 2695: /* col_name_keyword: EXISTS */ #line 15215 "preproc.y" { (yyval.str) = mm_strdup("exists"); } #line 59190 "preproc.c" break; case 2696: /* col_name_keyword: EXTRACT */ #line 15219 "preproc.y" { (yyval.str) = mm_strdup("extract"); } #line 59198 "preproc.c" break; case 2697: /* col_name_keyword: FLOAT_P */ #line 15223 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 59206 "preproc.c" break; case 2698: /* col_name_keyword: GREATEST */ #line 15227 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } #line 59214 "preproc.c" break; case 2699: /* col_name_keyword: GROUPING */ #line 15231 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } #line 59222 "preproc.c" break; case 2700: /* col_name_keyword: INOUT */ #line 15235 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 59230 "preproc.c" break; case 2701: /* col_name_keyword: INTEGER */ #line 15239 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 59238 "preproc.c" break; case 2702: /* col_name_keyword: INTERVAL */ #line 15243 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 59246 "preproc.c" break; case 2703: /* col_name_keyword: JSON_ARRAY */ #line 15247 "preproc.y" { (yyval.str) = mm_strdup("json_array"); } #line 59254 "preproc.c" break; case 2704: /* col_name_keyword: JSON_ARRAYAGG */ #line 15251 "preproc.y" { (yyval.str) = mm_strdup("json_arrayagg"); } #line 59262 "preproc.c" break; case 2705: /* col_name_keyword: JSON_OBJECT */ #line 15255 "preproc.y" { (yyval.str) = mm_strdup("json_object"); } #line 59270 "preproc.c" break; case 2706: /* col_name_keyword: JSON_OBJECTAGG */ #line 15259 "preproc.y" { (yyval.str) = mm_strdup("json_objectagg"); } #line 59278 "preproc.c" break; case 2707: /* col_name_keyword: LEAST */ #line 15263 "preproc.y" { (yyval.str) = mm_strdup("least"); } #line 59286 "preproc.c" break; case 2708: /* col_name_keyword: NATIONAL */ #line 15267 "preproc.y" { (yyval.str) = mm_strdup("national"); } #line 59294 "preproc.c" break; case 2709: /* col_name_keyword: NCHAR */ #line 15271 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } #line 59302 "preproc.c" break; case 2710: /* col_name_keyword: NONE */ #line 15275 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 59310 "preproc.c" break; case 2711: /* col_name_keyword: NORMALIZE */ #line 15279 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } #line 59318 "preproc.c" break; case 2712: /* col_name_keyword: NULLIF */ #line 15283 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } #line 59326 "preproc.c" break; case 2713: /* col_name_keyword: NUMERIC */ #line 15287 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } #line 59334 "preproc.c" break; case 2714: /* col_name_keyword: OUT_P */ #line 15291 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 59342 "preproc.c" break; case 2715: /* col_name_keyword: OVERLAY */ #line 15295 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } #line 59350 "preproc.c" break; case 2716: /* col_name_keyword: POSITION */ #line 15299 "preproc.y" { (yyval.str) = mm_strdup("position"); } #line 59358 "preproc.c" break; case 2717: /* col_name_keyword: PRECISION */ #line 15303 "preproc.y" { (yyval.str) = mm_strdup("precision"); } #line 59366 "preproc.c" break; case 2718: /* col_name_keyword: REAL */ #line 15307 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 59374 "preproc.c" break; case 2719: /* col_name_keyword: ROW */ #line 15311 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 59382 "preproc.c" break; case 2720: /* col_name_keyword: SETOF */ #line 15315 "preproc.y" { (yyval.str) = mm_strdup("setof"); } #line 59390 "preproc.c" break; case 2721: /* col_name_keyword: SMALLINT */ #line 15319 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 59398 "preproc.c" break; case 2722: /* col_name_keyword: SUBSTRING */ #line 15323 "preproc.y" { (yyval.str) = mm_strdup("substring"); } #line 59406 "preproc.c" break; case 2723: /* col_name_keyword: TIME */ #line 15327 "preproc.y" { (yyval.str) = mm_strdup("time"); } #line 59414 "preproc.c" break; case 2724: /* col_name_keyword: TIMESTAMP */ #line 15331 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } #line 59422 "preproc.c" break; case 2725: /* col_name_keyword: TREAT */ #line 15335 "preproc.y" { (yyval.str) = mm_strdup("treat"); } #line 59430 "preproc.c" break; case 2726: /* col_name_keyword: TRIM */ #line 15339 "preproc.y" { (yyval.str) = mm_strdup("trim"); } #line 59438 "preproc.c" break; case 2727: /* col_name_keyword: VARCHAR */ #line 15343 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 59446 "preproc.c" break; case 2728: /* col_name_keyword: XMLATTRIBUTES */ #line 15347 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } #line 59454 "preproc.c" break; case 2729: /* col_name_keyword: XMLCONCAT */ #line 15351 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } #line 59462 "preproc.c" break; case 2730: /* col_name_keyword: XMLELEMENT */ #line 15355 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } #line 59470 "preproc.c" break; case 2731: /* col_name_keyword: XMLEXISTS */ #line 15359 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } #line 59478 "preproc.c" break; case 2732: /* col_name_keyword: XMLFOREST */ #line 15363 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } #line 59486 "preproc.c" break; case 2733: /* col_name_keyword: XMLNAMESPACES */ #line 15367 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } #line 59494 "preproc.c" break; case 2734: /* col_name_keyword: XMLPARSE */ #line 15371 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } #line 59502 "preproc.c" break; case 2735: /* col_name_keyword: XMLPI */ #line 15375 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } #line 59510 "preproc.c" break; case 2736: /* col_name_keyword: XMLROOT */ #line 15379 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } #line 59518 "preproc.c" break; case 2737: /* col_name_keyword: XMLSERIALIZE */ #line 15383 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } #line 59526 "preproc.c" break; case 2738: /* col_name_keyword: XMLTABLE */ #line 15387 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } #line 59534 "preproc.c" break; case 2739: /* type_func_name_keyword: AUTHORIZATION */ #line 15395 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } #line 59542 "preproc.c" break; case 2740: /* type_func_name_keyword: BINARY */ #line 15399 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 59550 "preproc.c" break; case 2741: /* type_func_name_keyword: COLLATION */ #line 15403 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 59558 "preproc.c" break; case 2742: /* type_func_name_keyword: CONCURRENTLY */ #line 15407 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 59566 "preproc.c" break; case 2743: /* type_func_name_keyword: CROSS */ #line 15411 "preproc.y" { (yyval.str) = mm_strdup("cross"); } #line 59574 "preproc.c" break; case 2744: /* type_func_name_keyword: CURRENT_SCHEMA */ #line 15415 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 59582 "preproc.c" break; case 2745: /* type_func_name_keyword: FREEZE */ #line 15419 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 59590 "preproc.c" break; case 2746: /* type_func_name_keyword: FULL */ #line 15423 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 59598 "preproc.c" break; case 2747: /* type_func_name_keyword: ILIKE */ #line 15427 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 59606 "preproc.c" break; case 2748: /* type_func_name_keyword: INNER_P */ #line 15431 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 59614 "preproc.c" break; case 2749: /* type_func_name_keyword: IS */ #line 15435 "preproc.y" { (yyval.str) = mm_strdup("is"); } #line 59622 "preproc.c" break; case 2750: /* type_func_name_keyword: ISNULL */ #line 15439 "preproc.y" { (yyval.str) = mm_strdup("isnull"); } #line 59630 "preproc.c" break; case 2751: /* type_func_name_keyword: JOIN */ #line 15443 "preproc.y" { (yyval.str) = mm_strdup("join"); } #line 59638 "preproc.c" break; case 2752: /* type_func_name_keyword: LEFT */ #line 15447 "preproc.y" { (yyval.str) = mm_strdup("left"); } #line 59646 "preproc.c" break; case 2753: /* type_func_name_keyword: LIKE */ #line 15451 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 59654 "preproc.c" break; case 2754: /* type_func_name_keyword: NATURAL */ #line 15455 "preproc.y" { (yyval.str) = mm_strdup("natural"); } #line 59662 "preproc.c" break; case 2755: /* type_func_name_keyword: NOTNULL */ #line 15459 "preproc.y" { (yyval.str) = mm_strdup("notnull"); } #line 59670 "preproc.c" break; case 2756: /* type_func_name_keyword: OUTER_P */ #line 15463 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 59678 "preproc.c" break; case 2757: /* type_func_name_keyword: OVERLAPS */ #line 15467 "preproc.y" { (yyval.str) = mm_strdup("overlaps"); } #line 59686 "preproc.c" break; case 2758: /* type_func_name_keyword: RIGHT */ #line 15471 "preproc.y" { (yyval.str) = mm_strdup("right"); } #line 59694 "preproc.c" break; case 2759: /* type_func_name_keyword: SIMILAR */ #line 15475 "preproc.y" { (yyval.str) = mm_strdup("similar"); } #line 59702 "preproc.c" break; case 2760: /* type_func_name_keyword: TABLESAMPLE */ #line 15479 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } #line 59710 "preproc.c" break; case 2761: /* type_func_name_keyword: VERBOSE */ #line 15483 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 59718 "preproc.c" break; case 2762: /* reserved_keyword: ALL */ #line 15491 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 59726 "preproc.c" break; case 2763: /* reserved_keyword: ANALYSE */ #line 15495 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 59734 "preproc.c" break; case 2764: /* reserved_keyword: ANALYZE */ #line 15499 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 59742 "preproc.c" break; case 2765: /* reserved_keyword: AND */ #line 15503 "preproc.y" { (yyval.str) = mm_strdup("and"); } #line 59750 "preproc.c" break; case 2766: /* reserved_keyword: ANY */ #line 15507 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 59758 "preproc.c" break; case 2767: /* reserved_keyword: ARRAY */ #line 15511 "preproc.y" { (yyval.str) = mm_strdup("array"); } #line 59766 "preproc.c" break; case 2768: /* reserved_keyword: AS */ #line 15515 "preproc.y" { (yyval.str) = mm_strdup("as"); } #line 59774 "preproc.c" break; case 2769: /* reserved_keyword: ASC */ #line 15519 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 59782 "preproc.c" break; case 2770: /* reserved_keyword: ASYMMETRIC */ #line 15523 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 59790 "preproc.c" break; case 2771: /* reserved_keyword: BOTH */ #line 15527 "preproc.y" { (yyval.str) = mm_strdup("both"); } #line 59798 "preproc.c" break; case 2772: /* reserved_keyword: CASE */ #line 15531 "preproc.y" { (yyval.str) = mm_strdup("case"); } #line 59806 "preproc.c" break; case 2773: /* reserved_keyword: CAST */ #line 15535 "preproc.y" { (yyval.str) = mm_strdup("cast"); } #line 59814 "preproc.c" break; case 2774: /* reserved_keyword: CHECK */ #line 15539 "preproc.y" { (yyval.str) = mm_strdup("check"); } #line 59822 "preproc.c" break; case 2775: /* reserved_keyword: COLLATE */ #line 15543 "preproc.y" { (yyval.str) = mm_strdup("collate"); } #line 59830 "preproc.c" break; case 2776: /* reserved_keyword: COLUMN */ #line 15547 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 59838 "preproc.c" break; case 2777: /* reserved_keyword: CONSTRAINT */ #line 15551 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } #line 59846 "preproc.c" break; case 2778: /* reserved_keyword: CREATE */ #line 15555 "preproc.y" { (yyval.str) = mm_strdup("create"); } #line 59854 "preproc.c" break; case 2779: /* reserved_keyword: CURRENT_CATALOG */ #line 15559 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 59862 "preproc.c" break; case 2780: /* reserved_keyword: CURRENT_DATE */ #line 15563 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 59870 "preproc.c" break; case 2781: /* reserved_keyword: CURRENT_ROLE */ #line 15567 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 59878 "preproc.c" break; case 2782: /* reserved_keyword: CURRENT_TIME */ #line 15571 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 59886 "preproc.c" break; case 2783: /* reserved_keyword: CURRENT_TIMESTAMP */ #line 15575 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 59894 "preproc.c" break; case 2784: /* reserved_keyword: CURRENT_USER */ #line 15579 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 59902 "preproc.c" break; case 2785: /* reserved_keyword: DEFAULT */ #line 15583 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 59910 "preproc.c" break; case 2786: /* reserved_keyword: DEFERRABLE */ #line 15587 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 59918 "preproc.c" break; case 2787: /* reserved_keyword: DESC */ #line 15591 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 59926 "preproc.c" break; case 2788: /* reserved_keyword: DISTINCT */ #line 15595 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 59934 "preproc.c" break; case 2789: /* reserved_keyword: DO */ #line 15599 "preproc.y" { (yyval.str) = mm_strdup("do"); } #line 59942 "preproc.c" break; case 2790: /* reserved_keyword: ELSE */ #line 15603 "preproc.y" { (yyval.str) = mm_strdup("else"); } #line 59950 "preproc.c" break; case 2791: /* reserved_keyword: END_P */ #line 15607 "preproc.y" { (yyval.str) = mm_strdup("end"); } #line 59958 "preproc.c" break; case 2792: /* reserved_keyword: EXCEPT */ #line 15611 "preproc.y" { (yyval.str) = mm_strdup("except"); } #line 59966 "preproc.c" break; case 2793: /* reserved_keyword: FALSE_P */ #line 15615 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 59974 "preproc.c" break; case 2794: /* reserved_keyword: FETCH */ #line 15619 "preproc.y" { (yyval.str) = mm_strdup("fetch"); } #line 59982 "preproc.c" break; case 2795: /* reserved_keyword: FOR */ #line 15623 "preproc.y" { (yyval.str) = mm_strdup("for"); } #line 59990 "preproc.c" break; case 2796: /* reserved_keyword: FOREIGN */ #line 15627 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } #line 59998 "preproc.c" break; case 2797: /* reserved_keyword: FROM */ #line 15631 "preproc.y" { (yyval.str) = mm_strdup("from"); } #line 60006 "preproc.c" break; case 2798: /* reserved_keyword: GRANT */ #line 15635 "preproc.y" { (yyval.str) = mm_strdup("grant"); } #line 60014 "preproc.c" break; case 2799: /* reserved_keyword: GROUP_P */ #line 15639 "preproc.y" { (yyval.str) = mm_strdup("group"); } #line 60022 "preproc.c" break; case 2800: /* reserved_keyword: HAVING */ #line 15643 "preproc.y" { (yyval.str) = mm_strdup("having"); } #line 60030 "preproc.c" break; case 2801: /* reserved_keyword: IN_P */ #line 15647 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 60038 "preproc.c" break; case 2802: /* reserved_keyword: INITIALLY */ #line 15651 "preproc.y" { (yyval.str) = mm_strdup("initially"); } #line 60046 "preproc.c" break; case 2803: /* reserved_keyword: INTERSECT */ #line 15655 "preproc.y" { (yyval.str) = mm_strdup("intersect"); } #line 60054 "preproc.c" break; case 2804: /* reserved_keyword: INTO */ #line 15659 "preproc.y" { (yyval.str) = mm_strdup("into"); } #line 60062 "preproc.c" break; case 2805: /* reserved_keyword: LATERAL_P */ #line 15663 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } #line 60070 "preproc.c" break; case 2806: /* reserved_keyword: LEADING */ #line 15667 "preproc.y" { (yyval.str) = mm_strdup("leading"); } #line 60078 "preproc.c" break; case 2807: /* reserved_keyword: LIMIT */ #line 15671 "preproc.y" { (yyval.str) = mm_strdup("limit"); } #line 60086 "preproc.c" break; case 2808: /* reserved_keyword: LOCALTIME */ #line 15675 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 60094 "preproc.c" break; case 2809: /* reserved_keyword: LOCALTIMESTAMP */ #line 15679 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 60102 "preproc.c" break; case 2810: /* reserved_keyword: NOT */ #line 15683 "preproc.y" { (yyval.str) = mm_strdup("not"); } #line 60110 "preproc.c" break; case 2811: /* reserved_keyword: NULL_P */ #line 15687 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 60118 "preproc.c" break; case 2812: /* reserved_keyword: OFFSET */ #line 15691 "preproc.y" { (yyval.str) = mm_strdup("offset"); } #line 60126 "preproc.c" break; case 2813: /* reserved_keyword: ON */ #line 15695 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 60134 "preproc.c" break; case 2814: /* reserved_keyword: ONLY */ #line 15699 "preproc.y" { (yyval.str) = mm_strdup("only"); } #line 60142 "preproc.c" break; case 2815: /* reserved_keyword: OR */ #line 15703 "preproc.y" { (yyval.str) = mm_strdup("or"); } #line 60150 "preproc.c" break; case 2816: /* reserved_keyword: ORDER */ #line 15707 "preproc.y" { (yyval.str) = mm_strdup("order"); } #line 60158 "preproc.c" break; case 2817: /* reserved_keyword: PLACING */ #line 15711 "preproc.y" { (yyval.str) = mm_strdup("placing"); } #line 60166 "preproc.c" break; case 2818: /* reserved_keyword: PRIMARY */ #line 15715 "preproc.y" { (yyval.str) = mm_strdup("primary"); } #line 60174 "preproc.c" break; case 2819: /* reserved_keyword: REFERENCES */ #line 15719 "preproc.y" { (yyval.str) = mm_strdup("references"); } #line 60182 "preproc.c" break; case 2820: /* reserved_keyword: RETURNING */ #line 15723 "preproc.y" { (yyval.str) = mm_strdup("returning"); } #line 60190 "preproc.c" break; case 2821: /* reserved_keyword: SELECT */ #line 15727 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 60198 "preproc.c" break; case 2822: /* reserved_keyword: SESSION_USER */ #line 15731 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 60206 "preproc.c" break; case 2823: /* reserved_keyword: SOME */ #line 15735 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 60214 "preproc.c" break; case 2824: /* reserved_keyword: SYMMETRIC */ #line 15739 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } #line 60222 "preproc.c" break; case 2825: /* reserved_keyword: SYSTEM_USER */ #line 15743 "preproc.y" { (yyval.str) = mm_strdup("system_user"); } #line 60230 "preproc.c" break; case 2826: /* reserved_keyword: TABLE */ #line 15747 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 60238 "preproc.c" break; case 2827: /* reserved_keyword: THEN */ #line 15751 "preproc.y" { (yyval.str) = mm_strdup("then"); } #line 60246 "preproc.c" break; case 2828: /* reserved_keyword: TRAILING */ #line 15755 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } #line 60254 "preproc.c" break; case 2829: /* reserved_keyword: TRUE_P */ #line 15759 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 60262 "preproc.c" break; case 2830: /* reserved_keyword: UNIQUE */ #line 15763 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 60270 "preproc.c" break; case 2831: /* reserved_keyword: USER */ #line 15767 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 60278 "preproc.c" break; case 2832: /* reserved_keyword: USING */ #line 15771 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 60286 "preproc.c" break; case 2833: /* reserved_keyword: VARIADIC */ #line 15775 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 60294 "preproc.c" break; case 2834: /* reserved_keyword: WHEN */ #line 15779 "preproc.y" { (yyval.str) = mm_strdup("when"); } #line 60302 "preproc.c" break; case 2835: /* reserved_keyword: WHERE */ #line 15783 "preproc.y" { (yyval.str) = mm_strdup("where"); } #line 60310 "preproc.c" break; case 2836: /* reserved_keyword: WINDOW */ #line 15787 "preproc.y" { (yyval.str) = mm_strdup("window"); } #line 60318 "preproc.c" break; case 2837: /* reserved_keyword: WITH */ #line 15791 "preproc.y" { (yyval.str) = mm_strdup("with"); } #line 60326 "preproc.c" break; case 2838: /* bare_label_keyword: ABORT_P */ #line 15799 "preproc.y" { (yyval.str) = mm_strdup("abort"); } #line 60334 "preproc.c" break; case 2839: /* bare_label_keyword: ABSENT */ #line 15803 "preproc.y" { (yyval.str) = mm_strdup("absent"); } #line 60342 "preproc.c" break; case 2840: /* bare_label_keyword: ABSOLUTE_P */ #line 15807 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } #line 60350 "preproc.c" break; case 2841: /* bare_label_keyword: ACCESS */ #line 15811 "preproc.y" { (yyval.str) = mm_strdup("access"); } #line 60358 "preproc.c" break; case 2842: /* bare_label_keyword: ACTION */ #line 15815 "preproc.y" { (yyval.str) = mm_strdup("action"); } #line 60366 "preproc.c" break; case 2843: /* bare_label_keyword: ADD_P */ #line 15819 "preproc.y" { (yyval.str) = mm_strdup("add"); } #line 60374 "preproc.c" break; case 2844: /* bare_label_keyword: ADMIN */ #line 15823 "preproc.y" { (yyval.str) = mm_strdup("admin"); } #line 60382 "preproc.c" break; case 2845: /* bare_label_keyword: AFTER */ #line 15827 "preproc.y" { (yyval.str) = mm_strdup("after"); } #line 60390 "preproc.c" break; case 2846: /* bare_label_keyword: AGGREGATE */ #line 15831 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } #line 60398 "preproc.c" break; case 2847: /* bare_label_keyword: ALL */ #line 15835 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 60406 "preproc.c" break; case 2848: /* bare_label_keyword: ALSO */ #line 15839 "preproc.y" { (yyval.str) = mm_strdup("also"); } #line 60414 "preproc.c" break; case 2849: /* bare_label_keyword: ALTER */ #line 15843 "preproc.y" { (yyval.str) = mm_strdup("alter"); } #line 60422 "preproc.c" break; case 2850: /* bare_label_keyword: ALWAYS */ #line 15847 "preproc.y" { (yyval.str) = mm_strdup("always"); } #line 60430 "preproc.c" break; case 2851: /* bare_label_keyword: ANALYSE */ #line 15851 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } #line 60438 "preproc.c" break; case 2852: /* bare_label_keyword: ANALYZE */ #line 15855 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } #line 60446 "preproc.c" break; case 2853: /* bare_label_keyword: AND */ #line 15859 "preproc.y" { (yyval.str) = mm_strdup("and"); } #line 60454 "preproc.c" break; case 2854: /* bare_label_keyword: ANY */ #line 15863 "preproc.y" { (yyval.str) = mm_strdup("any"); } #line 60462 "preproc.c" break; case 2855: /* bare_label_keyword: ASC */ #line 15867 "preproc.y" { (yyval.str) = mm_strdup("asc"); } #line 60470 "preproc.c" break; case 2856: /* bare_label_keyword: ASENSITIVE */ #line 15871 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } #line 60478 "preproc.c" break; case 2857: /* bare_label_keyword: ASSERTION */ #line 15875 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } #line 60486 "preproc.c" break; case 2858: /* bare_label_keyword: ASSIGNMENT */ #line 15879 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } #line 60494 "preproc.c" break; case 2859: /* bare_label_keyword: ASYMMETRIC */ #line 15883 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } #line 60502 "preproc.c" break; case 2860: /* bare_label_keyword: AT */ #line 15887 "preproc.y" { (yyval.str) = mm_strdup("at"); } #line 60510 "preproc.c" break; case 2861: /* bare_label_keyword: ATOMIC */ #line 15891 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } #line 60518 "preproc.c" break; case 2862: /* bare_label_keyword: ATTACH */ #line 15895 "preproc.y" { (yyval.str) = mm_strdup("attach"); } #line 60526 "preproc.c" break; case 2863: /* bare_label_keyword: ATTRIBUTE */ #line 15899 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } #line 60534 "preproc.c" break; case 2864: /* bare_label_keyword: AUTHORIZATION */ #line 15903 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } #line 60542 "preproc.c" break; case 2865: /* bare_label_keyword: BACKWARD */ #line 15907 "preproc.y" { (yyval.str) = mm_strdup("backward"); } #line 60550 "preproc.c" break; case 2866: /* bare_label_keyword: BEFORE */ #line 15911 "preproc.y" { (yyval.str) = mm_strdup("before"); } #line 60558 "preproc.c" break; case 2867: /* bare_label_keyword: BEGIN_P */ #line 15915 "preproc.y" { (yyval.str) = mm_strdup("begin"); } #line 60566 "preproc.c" break; case 2868: /* bare_label_keyword: BETWEEN */ #line 15919 "preproc.y" { (yyval.str) = mm_strdup("between"); } #line 60574 "preproc.c" break; case 2869: /* bare_label_keyword: BIGINT */ #line 15923 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } #line 60582 "preproc.c" break; case 2870: /* bare_label_keyword: BINARY */ #line 15927 "preproc.y" { (yyval.str) = mm_strdup("binary"); } #line 60590 "preproc.c" break; case 2871: /* bare_label_keyword: BIT */ #line 15931 "preproc.y" { (yyval.str) = mm_strdup("bit"); } #line 60598 "preproc.c" break; case 2872: /* bare_label_keyword: BOOLEAN_P */ #line 15935 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } #line 60606 "preproc.c" break; case 2873: /* bare_label_keyword: BOTH */ #line 15939 "preproc.y" { (yyval.str) = mm_strdup("both"); } #line 60614 "preproc.c" break; case 2874: /* bare_label_keyword: BREADTH */ #line 15943 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } #line 60622 "preproc.c" break; case 2875: /* bare_label_keyword: BY */ #line 15947 "preproc.y" { (yyval.str) = mm_strdup("by"); } #line 60630 "preproc.c" break; case 2876: /* bare_label_keyword: CACHE */ #line 15951 "preproc.y" { (yyval.str) = mm_strdup("cache"); } #line 60638 "preproc.c" break; case 2877: /* bare_label_keyword: CALL */ #line 15955 "preproc.y" { (yyval.str) = mm_strdup("call"); } #line 60646 "preproc.c" break; case 2878: /* bare_label_keyword: CALLED */ #line 15959 "preproc.y" { (yyval.str) = mm_strdup("called"); } #line 60654 "preproc.c" break; case 2879: /* bare_label_keyword: CASCADE */ #line 15963 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } #line 60662 "preproc.c" break; case 2880: /* bare_label_keyword: CASCADED */ #line 15967 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } #line 60670 "preproc.c" break; case 2881: /* bare_label_keyword: CASE */ #line 15971 "preproc.y" { (yyval.str) = mm_strdup("case"); } #line 60678 "preproc.c" break; case 2882: /* bare_label_keyword: CAST */ #line 15975 "preproc.y" { (yyval.str) = mm_strdup("cast"); } #line 60686 "preproc.c" break; case 2883: /* bare_label_keyword: CATALOG_P */ #line 15979 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } #line 60694 "preproc.c" break; case 2884: /* bare_label_keyword: CHAIN */ #line 15983 "preproc.y" { (yyval.str) = mm_strdup("chain"); } #line 60702 "preproc.c" break; case 2885: /* bare_label_keyword: CHARACTERISTICS */ #line 15987 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } #line 60710 "preproc.c" break; case 2886: /* bare_label_keyword: CHECK */ #line 15991 "preproc.y" { (yyval.str) = mm_strdup("check"); } #line 60718 "preproc.c" break; case 2887: /* bare_label_keyword: CHECKPOINT */ #line 15995 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } #line 60726 "preproc.c" break; case 2888: /* bare_label_keyword: CLASS */ #line 15999 "preproc.y" { (yyval.str) = mm_strdup("class"); } #line 60734 "preproc.c" break; case 2889: /* bare_label_keyword: CLOSE */ #line 16003 "preproc.y" { (yyval.str) = mm_strdup("close"); } #line 60742 "preproc.c" break; case 2890: /* bare_label_keyword: CLUSTER */ #line 16007 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } #line 60750 "preproc.c" break; case 2891: /* bare_label_keyword: COALESCE */ #line 16011 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } #line 60758 "preproc.c" break; case 2892: /* bare_label_keyword: COLLATE */ #line 16015 "preproc.y" { (yyval.str) = mm_strdup("collate"); } #line 60766 "preproc.c" break; case 2893: /* bare_label_keyword: COLLATION */ #line 16019 "preproc.y" { (yyval.str) = mm_strdup("collation"); } #line 60774 "preproc.c" break; case 2894: /* bare_label_keyword: COLUMN */ #line 16023 "preproc.y" { (yyval.str) = mm_strdup("column"); } #line 60782 "preproc.c" break; case 2895: /* bare_label_keyword: COLUMNS */ #line 16027 "preproc.y" { (yyval.str) = mm_strdup("columns"); } #line 60790 "preproc.c" break; case 2896: /* bare_label_keyword: COMMENT */ #line 16031 "preproc.y" { (yyval.str) = mm_strdup("comment"); } #line 60798 "preproc.c" break; case 2897: /* bare_label_keyword: COMMENTS */ #line 16035 "preproc.y" { (yyval.str) = mm_strdup("comments"); } #line 60806 "preproc.c" break; case 2898: /* bare_label_keyword: COMMIT */ #line 16039 "preproc.y" { (yyval.str) = mm_strdup("commit"); } #line 60814 "preproc.c" break; case 2899: /* bare_label_keyword: COMMITTED */ #line 16043 "preproc.y" { (yyval.str) = mm_strdup("committed"); } #line 60822 "preproc.c" break; case 2900: /* bare_label_keyword: COMPRESSION */ #line 16047 "preproc.y" { (yyval.str) = mm_strdup("compression"); } #line 60830 "preproc.c" break; case 2901: /* bare_label_keyword: CONCURRENTLY */ #line 16051 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } #line 60838 "preproc.c" break; case 2902: /* bare_label_keyword: CONFIGURATION */ #line 16055 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } #line 60846 "preproc.c" break; case 2903: /* bare_label_keyword: CONFLICT */ #line 16059 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } #line 60854 "preproc.c" break; case 2904: /* bare_label_keyword: CONNECTION */ #line 16063 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 60862 "preproc.c" break; case 2905: /* bare_label_keyword: CONSTRAINT */ #line 16067 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } #line 60870 "preproc.c" break; case 2906: /* bare_label_keyword: CONSTRAINTS */ #line 16071 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } #line 60878 "preproc.c" break; case 2907: /* bare_label_keyword: CONTENT_P */ #line 16075 "preproc.y" { (yyval.str) = mm_strdup("content"); } #line 60886 "preproc.c" break; case 2908: /* bare_label_keyword: CONTINUE_P */ #line 16079 "preproc.y" { (yyval.str) = mm_strdup("continue"); } #line 60894 "preproc.c" break; case 2909: /* bare_label_keyword: CONVERSION_P */ #line 16083 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } #line 60902 "preproc.c" break; case 2910: /* bare_label_keyword: COPY */ #line 16087 "preproc.y" { (yyval.str) = mm_strdup("copy"); } #line 60910 "preproc.c" break; case 2911: /* bare_label_keyword: COST */ #line 16091 "preproc.y" { (yyval.str) = mm_strdup("cost"); } #line 60918 "preproc.c" break; case 2912: /* bare_label_keyword: CROSS */ #line 16095 "preproc.y" { (yyval.str) = mm_strdup("cross"); } #line 60926 "preproc.c" break; case 2913: /* bare_label_keyword: CSV */ #line 16099 "preproc.y" { (yyval.str) = mm_strdup("csv"); } #line 60934 "preproc.c" break; case 2914: /* bare_label_keyword: CUBE */ #line 16103 "preproc.y" { (yyval.str) = mm_strdup("cube"); } #line 60942 "preproc.c" break; case 2915: /* bare_label_keyword: CURRENT_P */ #line 16107 "preproc.y" { (yyval.str) = mm_strdup("current"); } #line 60950 "preproc.c" break; case 2916: /* bare_label_keyword: CURRENT_CATALOG */ #line 16111 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } #line 60958 "preproc.c" break; case 2917: /* bare_label_keyword: CURRENT_DATE */ #line 16115 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } #line 60966 "preproc.c" break; case 2918: /* bare_label_keyword: CURRENT_ROLE */ #line 16119 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } #line 60974 "preproc.c" break; case 2919: /* bare_label_keyword: CURRENT_SCHEMA */ #line 16123 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } #line 60982 "preproc.c" break; case 2920: /* bare_label_keyword: CURRENT_TIME */ #line 16127 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } #line 60990 "preproc.c" break; case 2921: /* bare_label_keyword: CURRENT_TIMESTAMP */ #line 16131 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } #line 60998 "preproc.c" break; case 2922: /* bare_label_keyword: CURRENT_USER */ #line 16135 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } #line 61006 "preproc.c" break; case 2923: /* bare_label_keyword: CURSOR */ #line 16139 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } #line 61014 "preproc.c" break; case 2924: /* bare_label_keyword: CYCLE */ #line 16143 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } #line 61022 "preproc.c" break; case 2925: /* bare_label_keyword: DATA_P */ #line 16147 "preproc.y" { (yyval.str) = mm_strdup("data"); } #line 61030 "preproc.c" break; case 2926: /* bare_label_keyword: DATABASE */ #line 16151 "preproc.y" { (yyval.str) = mm_strdup("database"); } #line 61038 "preproc.c" break; case 2927: /* bare_label_keyword: DEALLOCATE */ #line 16155 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } #line 61046 "preproc.c" break; case 2928: /* bare_label_keyword: DEC */ #line 16159 "preproc.y" { (yyval.str) = mm_strdup("dec"); } #line 61054 "preproc.c" break; case 2929: /* bare_label_keyword: DECIMAL_P */ #line 16163 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } #line 61062 "preproc.c" break; case 2930: /* bare_label_keyword: DECLARE */ #line 16167 "preproc.y" { (yyval.str) = mm_strdup("declare"); } #line 61070 "preproc.c" break; case 2931: /* bare_label_keyword: DEFAULT */ #line 16171 "preproc.y" { (yyval.str) = mm_strdup("default"); } #line 61078 "preproc.c" break; case 2932: /* bare_label_keyword: DEFAULTS */ #line 16175 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } #line 61086 "preproc.c" break; case 2933: /* bare_label_keyword: DEFERRABLE */ #line 16179 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } #line 61094 "preproc.c" break; case 2934: /* bare_label_keyword: DEFERRED */ #line 16183 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } #line 61102 "preproc.c" break; case 2935: /* bare_label_keyword: DEFINER */ #line 16187 "preproc.y" { (yyval.str) = mm_strdup("definer"); } #line 61110 "preproc.c" break; case 2936: /* bare_label_keyword: DELETE_P */ #line 16191 "preproc.y" { (yyval.str) = mm_strdup("delete"); } #line 61118 "preproc.c" break; case 2937: /* bare_label_keyword: DELIMITER */ #line 16195 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } #line 61126 "preproc.c" break; case 2938: /* bare_label_keyword: DELIMITERS */ #line 16199 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } #line 61134 "preproc.c" break; case 2939: /* bare_label_keyword: DEPENDS */ #line 16203 "preproc.y" { (yyval.str) = mm_strdup("depends"); } #line 61142 "preproc.c" break; case 2940: /* bare_label_keyword: DEPTH */ #line 16207 "preproc.y" { (yyval.str) = mm_strdup("depth"); } #line 61150 "preproc.c" break; case 2941: /* bare_label_keyword: DESC */ #line 16211 "preproc.y" { (yyval.str) = mm_strdup("desc"); } #line 61158 "preproc.c" break; case 2942: /* bare_label_keyword: DETACH */ #line 16215 "preproc.y" { (yyval.str) = mm_strdup("detach"); } #line 61166 "preproc.c" break; case 2943: /* bare_label_keyword: DICTIONARY */ #line 16219 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } #line 61174 "preproc.c" break; case 2944: /* bare_label_keyword: DISABLE_P */ #line 16223 "preproc.y" { (yyval.str) = mm_strdup("disable"); } #line 61182 "preproc.c" break; case 2945: /* bare_label_keyword: DISCARD */ #line 16227 "preproc.y" { (yyval.str) = mm_strdup("discard"); } #line 61190 "preproc.c" break; case 2946: /* bare_label_keyword: DISTINCT */ #line 16231 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } #line 61198 "preproc.c" break; case 2947: /* bare_label_keyword: DO */ #line 16235 "preproc.y" { (yyval.str) = mm_strdup("do"); } #line 61206 "preproc.c" break; case 2948: /* bare_label_keyword: DOCUMENT_P */ #line 16239 "preproc.y" { (yyval.str) = mm_strdup("document"); } #line 61214 "preproc.c" break; case 2949: /* bare_label_keyword: DOMAIN_P */ #line 16243 "preproc.y" { (yyval.str) = mm_strdup("domain"); } #line 61222 "preproc.c" break; case 2950: /* bare_label_keyword: DOUBLE_P */ #line 16247 "preproc.y" { (yyval.str) = mm_strdup("double"); } #line 61230 "preproc.c" break; case 2951: /* bare_label_keyword: DROP */ #line 16251 "preproc.y" { (yyval.str) = mm_strdup("drop"); } #line 61238 "preproc.c" break; case 2952: /* bare_label_keyword: EACH */ #line 16255 "preproc.y" { (yyval.str) = mm_strdup("each"); } #line 61246 "preproc.c" break; case 2953: /* bare_label_keyword: ELSE */ #line 16259 "preproc.y" { (yyval.str) = mm_strdup("else"); } #line 61254 "preproc.c" break; case 2954: /* bare_label_keyword: ENABLE_P */ #line 16263 "preproc.y" { (yyval.str) = mm_strdup("enable"); } #line 61262 "preproc.c" break; case 2955: /* bare_label_keyword: ENCODING */ #line 16267 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } #line 61270 "preproc.c" break; case 2956: /* bare_label_keyword: ENCRYPTED */ #line 16271 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } #line 61278 "preproc.c" break; case 2957: /* bare_label_keyword: END_P */ #line 16275 "preproc.y" { (yyval.str) = mm_strdup("end"); } #line 61286 "preproc.c" break; case 2958: /* bare_label_keyword: ENUM_P */ #line 16279 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 61294 "preproc.c" break; case 2959: /* bare_label_keyword: ESCAPE */ #line 16283 "preproc.y" { (yyval.str) = mm_strdup("escape"); } #line 61302 "preproc.c" break; case 2960: /* bare_label_keyword: EVENT */ #line 16287 "preproc.y" { (yyval.str) = mm_strdup("event"); } #line 61310 "preproc.c" break; case 2961: /* bare_label_keyword: EXCLUDE */ #line 16291 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } #line 61318 "preproc.c" break; case 2962: /* bare_label_keyword: EXCLUDING */ #line 16295 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } #line 61326 "preproc.c" break; case 2963: /* bare_label_keyword: EXCLUSIVE */ #line 16299 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } #line 61334 "preproc.c" break; case 2964: /* bare_label_keyword: EXECUTE */ #line 16303 "preproc.y" { (yyval.str) = mm_strdup("execute"); } #line 61342 "preproc.c" break; case 2965: /* bare_label_keyword: EXISTS */ #line 16307 "preproc.y" { (yyval.str) = mm_strdup("exists"); } #line 61350 "preproc.c" break; case 2966: /* bare_label_keyword: EXPLAIN */ #line 16311 "preproc.y" { (yyval.str) = mm_strdup("explain"); } #line 61358 "preproc.c" break; case 2967: /* bare_label_keyword: EXPRESSION */ #line 16315 "preproc.y" { (yyval.str) = mm_strdup("expression"); } #line 61366 "preproc.c" break; case 2968: /* bare_label_keyword: EXTENSION */ #line 16319 "preproc.y" { (yyval.str) = mm_strdup("extension"); } #line 61374 "preproc.c" break; case 2969: /* bare_label_keyword: EXTERNAL */ #line 16323 "preproc.y" { (yyval.str) = mm_strdup("external"); } #line 61382 "preproc.c" break; case 2970: /* bare_label_keyword: EXTRACT */ #line 16327 "preproc.y" { (yyval.str) = mm_strdup("extract"); } #line 61390 "preproc.c" break; case 2971: /* bare_label_keyword: FALSE_P */ #line 16331 "preproc.y" { (yyval.str) = mm_strdup("false"); } #line 61398 "preproc.c" break; case 2972: /* bare_label_keyword: FAMILY */ #line 16335 "preproc.y" { (yyval.str) = mm_strdup("family"); } #line 61406 "preproc.c" break; case 2973: /* bare_label_keyword: FINALIZE */ #line 16339 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } #line 61414 "preproc.c" break; case 2974: /* bare_label_keyword: FIRST_P */ #line 16343 "preproc.y" { (yyval.str) = mm_strdup("first"); } #line 61422 "preproc.c" break; case 2975: /* bare_label_keyword: FLOAT_P */ #line 16347 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 61430 "preproc.c" break; case 2976: /* bare_label_keyword: FOLLOWING */ #line 16351 "preproc.y" { (yyval.str) = mm_strdup("following"); } #line 61438 "preproc.c" break; case 2977: /* bare_label_keyword: FORCE */ #line 16355 "preproc.y" { (yyval.str) = mm_strdup("force"); } #line 61446 "preproc.c" break; case 2978: /* bare_label_keyword: FOREIGN */ #line 16359 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } #line 61454 "preproc.c" break; case 2979: /* bare_label_keyword: FORMAT */ #line 16363 "preproc.y" { (yyval.str) = mm_strdup("format"); } #line 61462 "preproc.c" break; case 2980: /* bare_label_keyword: FORWARD */ #line 16367 "preproc.y" { (yyval.str) = mm_strdup("forward"); } #line 61470 "preproc.c" break; case 2981: /* bare_label_keyword: FREEZE */ #line 16371 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } #line 61478 "preproc.c" break; case 2982: /* bare_label_keyword: FULL */ #line 16375 "preproc.y" { (yyval.str) = mm_strdup("full"); } #line 61486 "preproc.c" break; case 2983: /* bare_label_keyword: FUNCTION */ #line 16379 "preproc.y" { (yyval.str) = mm_strdup("function"); } #line 61494 "preproc.c" break; case 2984: /* bare_label_keyword: FUNCTIONS */ #line 16383 "preproc.y" { (yyval.str) = mm_strdup("functions"); } #line 61502 "preproc.c" break; case 2985: /* bare_label_keyword: GENERATED */ #line 16387 "preproc.y" { (yyval.str) = mm_strdup("generated"); } #line 61510 "preproc.c" break; case 2986: /* bare_label_keyword: GLOBAL */ #line 16391 "preproc.y" { (yyval.str) = mm_strdup("global"); } #line 61518 "preproc.c" break; case 2987: /* bare_label_keyword: GRANTED */ #line 16395 "preproc.y" { (yyval.str) = mm_strdup("granted"); } #line 61526 "preproc.c" break; case 2988: /* bare_label_keyword: GREATEST */ #line 16399 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } #line 61534 "preproc.c" break; case 2989: /* bare_label_keyword: GROUPING */ #line 16403 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } #line 61542 "preproc.c" break; case 2990: /* bare_label_keyword: GROUPS */ #line 16407 "preproc.y" { (yyval.str) = mm_strdup("groups"); } #line 61550 "preproc.c" break; case 2991: /* bare_label_keyword: HANDLER */ #line 16411 "preproc.y" { (yyval.str) = mm_strdup("handler"); } #line 61558 "preproc.c" break; case 2992: /* bare_label_keyword: HEADER_P */ #line 16415 "preproc.y" { (yyval.str) = mm_strdup("header"); } #line 61566 "preproc.c" break; case 2993: /* bare_label_keyword: HOLD */ #line 16419 "preproc.y" { (yyval.str) = mm_strdup("hold"); } #line 61574 "preproc.c" break; case 2994: /* bare_label_keyword: IDENTITY_P */ #line 16423 "preproc.y" { (yyval.str) = mm_strdup("identity"); } #line 61582 "preproc.c" break; case 2995: /* bare_label_keyword: IF_P */ #line 16427 "preproc.y" { (yyval.str) = mm_strdup("if"); } #line 61590 "preproc.c" break; case 2996: /* bare_label_keyword: ILIKE */ #line 16431 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } #line 61598 "preproc.c" break; case 2997: /* bare_label_keyword: IMMEDIATE */ #line 16435 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } #line 61606 "preproc.c" break; case 2998: /* bare_label_keyword: IMMUTABLE */ #line 16439 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } #line 61614 "preproc.c" break; case 2999: /* bare_label_keyword: IMPLICIT_P */ #line 16443 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } #line 61622 "preproc.c" break; case 3000: /* bare_label_keyword: IMPORT_P */ #line 16447 "preproc.y" { (yyval.str) = mm_strdup("import"); } #line 61630 "preproc.c" break; case 3001: /* bare_label_keyword: IN_P */ #line 16451 "preproc.y" { (yyval.str) = mm_strdup("in"); } #line 61638 "preproc.c" break; case 3002: /* bare_label_keyword: INCLUDE */ #line 16455 "preproc.y" { (yyval.str) = mm_strdup("include"); } #line 61646 "preproc.c" break; case 3003: /* bare_label_keyword: INCLUDING */ #line 16459 "preproc.y" { (yyval.str) = mm_strdup("including"); } #line 61654 "preproc.c" break; case 3004: /* bare_label_keyword: INCREMENT */ #line 16463 "preproc.y" { (yyval.str) = mm_strdup("increment"); } #line 61662 "preproc.c" break; case 3005: /* bare_label_keyword: INDENT */ #line 16467 "preproc.y" { (yyval.str) = mm_strdup("indent"); } #line 61670 "preproc.c" break; case 3006: /* bare_label_keyword: INDEX */ #line 16471 "preproc.y" { (yyval.str) = mm_strdup("index"); } #line 61678 "preproc.c" break; case 3007: /* bare_label_keyword: INDEXES */ #line 16475 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } #line 61686 "preproc.c" break; case 3008: /* bare_label_keyword: INHERIT */ #line 16479 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } #line 61694 "preproc.c" break; case 3009: /* bare_label_keyword: INHERITS */ #line 16483 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } #line 61702 "preproc.c" break; case 3010: /* bare_label_keyword: INITIALLY */ #line 16487 "preproc.y" { (yyval.str) = mm_strdup("initially"); } #line 61710 "preproc.c" break; case 3011: /* bare_label_keyword: INLINE_P */ #line 16491 "preproc.y" { (yyval.str) = mm_strdup("inline"); } #line 61718 "preproc.c" break; case 3012: /* bare_label_keyword: INNER_P */ #line 16495 "preproc.y" { (yyval.str) = mm_strdup("inner"); } #line 61726 "preproc.c" break; case 3013: /* bare_label_keyword: INOUT */ #line 16499 "preproc.y" { (yyval.str) = mm_strdup("inout"); } #line 61734 "preproc.c" break; case 3014: /* bare_label_keyword: INPUT_P */ #line 16503 "preproc.y" { (yyval.str) = mm_strdup("input"); } #line 61742 "preproc.c" break; case 3015: /* bare_label_keyword: INSENSITIVE */ #line 16507 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } #line 61750 "preproc.c" break; case 3016: /* bare_label_keyword: INSERT */ #line 16511 "preproc.y" { (yyval.str) = mm_strdup("insert"); } #line 61758 "preproc.c" break; case 3017: /* bare_label_keyword: INSTEAD */ #line 16515 "preproc.y" { (yyval.str) = mm_strdup("instead"); } #line 61766 "preproc.c" break; case 3018: /* bare_label_keyword: INT_P */ #line 16519 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 61774 "preproc.c" break; case 3019: /* bare_label_keyword: INTEGER */ #line 16523 "preproc.y" { (yyval.str) = mm_strdup("integer"); } #line 61782 "preproc.c" break; case 3020: /* bare_label_keyword: INTERVAL */ #line 16527 "preproc.y" { (yyval.str) = mm_strdup("interval"); } #line 61790 "preproc.c" break; case 3021: /* bare_label_keyword: INVOKER */ #line 16531 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } #line 61798 "preproc.c" break; case 3022: /* bare_label_keyword: IS */ #line 16535 "preproc.y" { (yyval.str) = mm_strdup("is"); } #line 61806 "preproc.c" break; case 3023: /* bare_label_keyword: ISOLATION */ #line 16539 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } #line 61814 "preproc.c" break; case 3024: /* bare_label_keyword: JOIN */ #line 16543 "preproc.y" { (yyval.str) = mm_strdup("join"); } #line 61822 "preproc.c" break; case 3025: /* bare_label_keyword: JSON */ #line 16547 "preproc.y" { (yyval.str) = mm_strdup("json"); } #line 61830 "preproc.c" break; case 3026: /* bare_label_keyword: JSON_ARRAY */ #line 16551 "preproc.y" { (yyval.str) = mm_strdup("json_array"); } #line 61838 "preproc.c" break; case 3027: /* bare_label_keyword: JSON_ARRAYAGG */ #line 16555 "preproc.y" { (yyval.str) = mm_strdup("json_arrayagg"); } #line 61846 "preproc.c" break; case 3028: /* bare_label_keyword: JSON_OBJECT */ #line 16559 "preproc.y" { (yyval.str) = mm_strdup("json_object"); } #line 61854 "preproc.c" break; case 3029: /* bare_label_keyword: JSON_OBJECTAGG */ #line 16563 "preproc.y" { (yyval.str) = mm_strdup("json_objectagg"); } #line 61862 "preproc.c" break; case 3030: /* bare_label_keyword: KEY */ #line 16567 "preproc.y" { (yyval.str) = mm_strdup("key"); } #line 61870 "preproc.c" break; case 3031: /* bare_label_keyword: KEYS */ #line 16571 "preproc.y" { (yyval.str) = mm_strdup("keys"); } #line 61878 "preproc.c" break; case 3032: /* bare_label_keyword: LABEL */ #line 16575 "preproc.y" { (yyval.str) = mm_strdup("label"); } #line 61886 "preproc.c" break; case 3033: /* bare_label_keyword: LANGUAGE */ #line 16579 "preproc.y" { (yyval.str) = mm_strdup("language"); } #line 61894 "preproc.c" break; case 3034: /* bare_label_keyword: LARGE_P */ #line 16583 "preproc.y" { (yyval.str) = mm_strdup("large"); } #line 61902 "preproc.c" break; case 3035: /* bare_label_keyword: LAST_P */ #line 16587 "preproc.y" { (yyval.str) = mm_strdup("last"); } #line 61910 "preproc.c" break; case 3036: /* bare_label_keyword: LATERAL_P */ #line 16591 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } #line 61918 "preproc.c" break; case 3037: /* bare_label_keyword: LEADING */ #line 16595 "preproc.y" { (yyval.str) = mm_strdup("leading"); } #line 61926 "preproc.c" break; case 3038: /* bare_label_keyword: LEAKPROOF */ #line 16599 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } #line 61934 "preproc.c" break; case 3039: /* bare_label_keyword: LEAST */ #line 16603 "preproc.y" { (yyval.str) = mm_strdup("least"); } #line 61942 "preproc.c" break; case 3040: /* bare_label_keyword: LEFT */ #line 16607 "preproc.y" { (yyval.str) = mm_strdup("left"); } #line 61950 "preproc.c" break; case 3041: /* bare_label_keyword: LEVEL */ #line 16611 "preproc.y" { (yyval.str) = mm_strdup("level"); } #line 61958 "preproc.c" break; case 3042: /* bare_label_keyword: LIKE */ #line 16615 "preproc.y" { (yyval.str) = mm_strdup("like"); } #line 61966 "preproc.c" break; case 3043: /* bare_label_keyword: LISTEN */ #line 16619 "preproc.y" { (yyval.str) = mm_strdup("listen"); } #line 61974 "preproc.c" break; case 3044: /* bare_label_keyword: LOAD */ #line 16623 "preproc.y" { (yyval.str) = mm_strdup("load"); } #line 61982 "preproc.c" break; case 3045: /* bare_label_keyword: LOCAL */ #line 16627 "preproc.y" { (yyval.str) = mm_strdup("local"); } #line 61990 "preproc.c" break; case 3046: /* bare_label_keyword: LOCALTIME */ #line 16631 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } #line 61998 "preproc.c" break; case 3047: /* bare_label_keyword: LOCALTIMESTAMP */ #line 16635 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } #line 62006 "preproc.c" break; case 3048: /* bare_label_keyword: LOCATION */ #line 16639 "preproc.y" { (yyval.str) = mm_strdup("location"); } #line 62014 "preproc.c" break; case 3049: /* bare_label_keyword: LOCK_P */ #line 16643 "preproc.y" { (yyval.str) = mm_strdup("lock"); } #line 62022 "preproc.c" break; case 3050: /* bare_label_keyword: LOCKED */ #line 16647 "preproc.y" { (yyval.str) = mm_strdup("locked"); } #line 62030 "preproc.c" break; case 3051: /* bare_label_keyword: LOGGED */ #line 16651 "preproc.y" { (yyval.str) = mm_strdup("logged"); } #line 62038 "preproc.c" break; case 3052: /* bare_label_keyword: MAPPING */ #line 16655 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } #line 62046 "preproc.c" break; case 3053: /* bare_label_keyword: MATCH */ #line 16659 "preproc.y" { (yyval.str) = mm_strdup("match"); } #line 62054 "preproc.c" break; case 3054: /* bare_label_keyword: MATCHED */ #line 16663 "preproc.y" { (yyval.str) = mm_strdup("matched"); } #line 62062 "preproc.c" break; case 3055: /* bare_label_keyword: MATERIALIZED */ #line 16667 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } #line 62070 "preproc.c" break; case 3056: /* bare_label_keyword: MAXVALUE */ #line 16671 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } #line 62078 "preproc.c" break; case 3057: /* bare_label_keyword: MERGE */ #line 16675 "preproc.y" { (yyval.str) = mm_strdup("merge"); } #line 62086 "preproc.c" break; case 3058: /* bare_label_keyword: METHOD */ #line 16679 "preproc.y" { (yyval.str) = mm_strdup("method"); } #line 62094 "preproc.c" break; case 3059: /* bare_label_keyword: MINVALUE */ #line 16683 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } #line 62102 "preproc.c" break; case 3060: /* bare_label_keyword: MODE */ #line 16687 "preproc.y" { (yyval.str) = mm_strdup("mode"); } #line 62110 "preproc.c" break; case 3061: /* bare_label_keyword: MOVE */ #line 16691 "preproc.y" { (yyval.str) = mm_strdup("move"); } #line 62118 "preproc.c" break; case 3062: /* bare_label_keyword: NAME_P */ #line 16695 "preproc.y" { (yyval.str) = mm_strdup("name"); } #line 62126 "preproc.c" break; case 3063: /* bare_label_keyword: NAMES */ #line 16699 "preproc.y" { (yyval.str) = mm_strdup("names"); } #line 62134 "preproc.c" break; case 3064: /* bare_label_keyword: NATIONAL */ #line 16703 "preproc.y" { (yyval.str) = mm_strdup("national"); } #line 62142 "preproc.c" break; case 3065: /* bare_label_keyword: NATURAL */ #line 16707 "preproc.y" { (yyval.str) = mm_strdup("natural"); } #line 62150 "preproc.c" break; case 3066: /* bare_label_keyword: NCHAR */ #line 16711 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } #line 62158 "preproc.c" break; case 3067: /* bare_label_keyword: NEW */ #line 16715 "preproc.y" { (yyval.str) = mm_strdup("new"); } #line 62166 "preproc.c" break; case 3068: /* bare_label_keyword: NEXT */ #line 16719 "preproc.y" { (yyval.str) = mm_strdup("next"); } #line 62174 "preproc.c" break; case 3069: /* bare_label_keyword: NFC */ #line 16723 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } #line 62182 "preproc.c" break; case 3070: /* bare_label_keyword: NFD */ #line 16727 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } #line 62190 "preproc.c" break; case 3071: /* bare_label_keyword: NFKC */ #line 16731 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } #line 62198 "preproc.c" break; case 3072: /* bare_label_keyword: NFKD */ #line 16735 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } #line 62206 "preproc.c" break; case 3073: /* bare_label_keyword: NO */ #line 16739 "preproc.y" { (yyval.str) = mm_strdup("no"); } #line 62214 "preproc.c" break; case 3074: /* bare_label_keyword: NONE */ #line 16743 "preproc.y" { (yyval.str) = mm_strdup("none"); } #line 62222 "preproc.c" break; case 3075: /* bare_label_keyword: NORMALIZE */ #line 16747 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } #line 62230 "preproc.c" break; case 3076: /* bare_label_keyword: NORMALIZED */ #line 16751 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } #line 62238 "preproc.c" break; case 3077: /* bare_label_keyword: NOT */ #line 16755 "preproc.y" { (yyval.str) = mm_strdup("not"); } #line 62246 "preproc.c" break; case 3078: /* bare_label_keyword: NOTHING */ #line 16759 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } #line 62254 "preproc.c" break; case 3079: /* bare_label_keyword: NOTIFY */ #line 16763 "preproc.y" { (yyval.str) = mm_strdup("notify"); } #line 62262 "preproc.c" break; case 3080: /* bare_label_keyword: NOWAIT */ #line 16767 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } #line 62270 "preproc.c" break; case 3081: /* bare_label_keyword: NULL_P */ #line 16771 "preproc.y" { (yyval.str) = mm_strdup("null"); } #line 62278 "preproc.c" break; case 3082: /* bare_label_keyword: NULLIF */ #line 16775 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } #line 62286 "preproc.c" break; case 3083: /* bare_label_keyword: NULLS_P */ #line 16779 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } #line 62294 "preproc.c" break; case 3084: /* bare_label_keyword: NUMERIC */ #line 16783 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } #line 62302 "preproc.c" break; case 3085: /* bare_label_keyword: OBJECT_P */ #line 16787 "preproc.y" { (yyval.str) = mm_strdup("object"); } #line 62310 "preproc.c" break; case 3086: /* bare_label_keyword: OF */ #line 16791 "preproc.y" { (yyval.str) = mm_strdup("of"); } #line 62318 "preproc.c" break; case 3087: /* bare_label_keyword: OFF */ #line 16795 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 62326 "preproc.c" break; case 3088: /* bare_label_keyword: OIDS */ #line 16799 "preproc.y" { (yyval.str) = mm_strdup("oids"); } #line 62334 "preproc.c" break; case 3089: /* bare_label_keyword: OLD */ #line 16803 "preproc.y" { (yyval.str) = mm_strdup("old"); } #line 62342 "preproc.c" break; case 3090: /* bare_label_keyword: ONLY */ #line 16807 "preproc.y" { (yyval.str) = mm_strdup("only"); } #line 62350 "preproc.c" break; case 3091: /* bare_label_keyword: OPERATOR */ #line 16811 "preproc.y" { (yyval.str) = mm_strdup("operator"); } #line 62358 "preproc.c" break; case 3092: /* bare_label_keyword: OPTION */ #line 16815 "preproc.y" { (yyval.str) = mm_strdup("option"); } #line 62366 "preproc.c" break; case 3093: /* bare_label_keyword: OPTIONS */ #line 16819 "preproc.y" { (yyval.str) = mm_strdup("options"); } #line 62374 "preproc.c" break; case 3094: /* bare_label_keyword: OR */ #line 16823 "preproc.y" { (yyval.str) = mm_strdup("or"); } #line 62382 "preproc.c" break; case 3095: /* bare_label_keyword: ORDINALITY */ #line 16827 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } #line 62390 "preproc.c" break; case 3096: /* bare_label_keyword: OTHERS */ #line 16831 "preproc.y" { (yyval.str) = mm_strdup("others"); } #line 62398 "preproc.c" break; case 3097: /* bare_label_keyword: OUT_P */ #line 16835 "preproc.y" { (yyval.str) = mm_strdup("out"); } #line 62406 "preproc.c" break; case 3098: /* bare_label_keyword: OUTER_P */ #line 16839 "preproc.y" { (yyval.str) = mm_strdup("outer"); } #line 62414 "preproc.c" break; case 3099: /* bare_label_keyword: OVERLAY */ #line 16843 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } #line 62422 "preproc.c" break; case 3100: /* bare_label_keyword: OVERRIDING */ #line 16847 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } #line 62430 "preproc.c" break; case 3101: /* bare_label_keyword: OWNED */ #line 16851 "preproc.y" { (yyval.str) = mm_strdup("owned"); } #line 62438 "preproc.c" break; case 3102: /* bare_label_keyword: OWNER */ #line 16855 "preproc.y" { (yyval.str) = mm_strdup("owner"); } #line 62446 "preproc.c" break; case 3103: /* bare_label_keyword: PARALLEL */ #line 16859 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } #line 62454 "preproc.c" break; case 3104: /* bare_label_keyword: PARAMETER */ #line 16863 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } #line 62462 "preproc.c" break; case 3105: /* bare_label_keyword: PARSER */ #line 16867 "preproc.y" { (yyval.str) = mm_strdup("parser"); } #line 62470 "preproc.c" break; case 3106: /* bare_label_keyword: PARTIAL */ #line 16871 "preproc.y" { (yyval.str) = mm_strdup("partial"); } #line 62478 "preproc.c" break; case 3107: /* bare_label_keyword: PARTITION */ #line 16875 "preproc.y" { (yyval.str) = mm_strdup("partition"); } #line 62486 "preproc.c" break; case 3108: /* bare_label_keyword: PASSING */ #line 16879 "preproc.y" { (yyval.str) = mm_strdup("passing"); } #line 62494 "preproc.c" break; case 3109: /* bare_label_keyword: PASSWORD */ #line 16883 "preproc.y" { (yyval.str) = mm_strdup("password"); } #line 62502 "preproc.c" break; case 3110: /* bare_label_keyword: PLACING */ #line 16887 "preproc.y" { (yyval.str) = mm_strdup("placing"); } #line 62510 "preproc.c" break; case 3111: /* bare_label_keyword: PLANS */ #line 16891 "preproc.y" { (yyval.str) = mm_strdup("plans"); } #line 62518 "preproc.c" break; case 3112: /* bare_label_keyword: POLICY */ #line 16895 "preproc.y" { (yyval.str) = mm_strdup("policy"); } #line 62526 "preproc.c" break; case 3113: /* bare_label_keyword: POSITION */ #line 16899 "preproc.y" { (yyval.str) = mm_strdup("position"); } #line 62534 "preproc.c" break; case 3114: /* bare_label_keyword: PRECEDING */ #line 16903 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } #line 62542 "preproc.c" break; case 3115: /* bare_label_keyword: PREPARE */ #line 16907 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } #line 62550 "preproc.c" break; case 3116: /* bare_label_keyword: PREPARED */ #line 16911 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } #line 62558 "preproc.c" break; case 3117: /* bare_label_keyword: PRESERVE */ #line 16915 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } #line 62566 "preproc.c" break; case 3118: /* bare_label_keyword: PRIMARY */ #line 16919 "preproc.y" { (yyval.str) = mm_strdup("primary"); } #line 62574 "preproc.c" break; case 3119: /* bare_label_keyword: PRIOR */ #line 16923 "preproc.y" { (yyval.str) = mm_strdup("prior"); } #line 62582 "preproc.c" break; case 3120: /* bare_label_keyword: PRIVILEGES */ #line 16927 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } #line 62590 "preproc.c" break; case 3121: /* bare_label_keyword: PROCEDURAL */ #line 16931 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } #line 62598 "preproc.c" break; case 3122: /* bare_label_keyword: PROCEDURE */ #line 16935 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } #line 62606 "preproc.c" break; case 3123: /* bare_label_keyword: PROCEDURES */ #line 16939 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } #line 62614 "preproc.c" break; case 3124: /* bare_label_keyword: PROGRAM */ #line 16943 "preproc.y" { (yyval.str) = mm_strdup("program"); } #line 62622 "preproc.c" break; case 3125: /* bare_label_keyword: PUBLICATION */ #line 16947 "preproc.y" { (yyval.str) = mm_strdup("publication"); } #line 62630 "preproc.c" break; case 3126: /* bare_label_keyword: QUOTE */ #line 16951 "preproc.y" { (yyval.str) = mm_strdup("quote"); } #line 62638 "preproc.c" break; case 3127: /* bare_label_keyword: RANGE */ #line 16955 "preproc.y" { (yyval.str) = mm_strdup("range"); } #line 62646 "preproc.c" break; case 3128: /* bare_label_keyword: READ */ #line 16959 "preproc.y" { (yyval.str) = mm_strdup("read"); } #line 62654 "preproc.c" break; case 3129: /* bare_label_keyword: REAL */ #line 16963 "preproc.y" { (yyval.str) = mm_strdup("real"); } #line 62662 "preproc.c" break; case 3130: /* bare_label_keyword: REASSIGN */ #line 16967 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } #line 62670 "preproc.c" break; case 3131: /* bare_label_keyword: RECHECK */ #line 16971 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } #line 62678 "preproc.c" break; case 3132: /* bare_label_keyword: RECURSIVE */ #line 16975 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } #line 62686 "preproc.c" break; case 3133: /* bare_label_keyword: REF_P */ #line 16979 "preproc.y" { (yyval.str) = mm_strdup("ref"); } #line 62694 "preproc.c" break; case 3134: /* bare_label_keyword: REFERENCES */ #line 16983 "preproc.y" { (yyval.str) = mm_strdup("references"); } #line 62702 "preproc.c" break; case 3135: /* bare_label_keyword: REFERENCING */ #line 16987 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } #line 62710 "preproc.c" break; case 3136: /* bare_label_keyword: REFRESH */ #line 16991 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } #line 62718 "preproc.c" break; case 3137: /* bare_label_keyword: REINDEX */ #line 16995 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } #line 62726 "preproc.c" break; case 3138: /* bare_label_keyword: RELATIVE_P */ #line 16999 "preproc.y" { (yyval.str) = mm_strdup("relative"); } #line 62734 "preproc.c" break; case 3139: /* bare_label_keyword: RELEASE */ #line 17003 "preproc.y" { (yyval.str) = mm_strdup("release"); } #line 62742 "preproc.c" break; case 3140: /* bare_label_keyword: RENAME */ #line 17007 "preproc.y" { (yyval.str) = mm_strdup("rename"); } #line 62750 "preproc.c" break; case 3141: /* bare_label_keyword: REPEATABLE */ #line 17011 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } #line 62758 "preproc.c" break; case 3142: /* bare_label_keyword: REPLACE */ #line 17015 "preproc.y" { (yyval.str) = mm_strdup("replace"); } #line 62766 "preproc.c" break; case 3143: /* bare_label_keyword: REPLICA */ #line 17019 "preproc.y" { (yyval.str) = mm_strdup("replica"); } #line 62774 "preproc.c" break; case 3144: /* bare_label_keyword: RESET */ #line 17023 "preproc.y" { (yyval.str) = mm_strdup("reset"); } #line 62782 "preproc.c" break; case 3145: /* bare_label_keyword: RESTART */ #line 17027 "preproc.y" { (yyval.str) = mm_strdup("restart"); } #line 62790 "preproc.c" break; case 3146: /* bare_label_keyword: RESTRICT */ #line 17031 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } #line 62798 "preproc.c" break; case 3147: /* bare_label_keyword: RETURN */ #line 17035 "preproc.y" { (yyval.str) = mm_strdup("return"); } #line 62806 "preproc.c" break; case 3148: /* bare_label_keyword: RETURNS */ #line 17039 "preproc.y" { (yyval.str) = mm_strdup("returns"); } #line 62814 "preproc.c" break; case 3149: /* bare_label_keyword: REVOKE */ #line 17043 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } #line 62822 "preproc.c" break; case 3150: /* bare_label_keyword: RIGHT */ #line 17047 "preproc.y" { (yyval.str) = mm_strdup("right"); } #line 62830 "preproc.c" break; case 3151: /* bare_label_keyword: ROLE */ #line 17051 "preproc.y" { (yyval.str) = mm_strdup("role"); } #line 62838 "preproc.c" break; case 3152: /* bare_label_keyword: ROLLBACK */ #line 17055 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } #line 62846 "preproc.c" break; case 3153: /* bare_label_keyword: ROLLUP */ #line 17059 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } #line 62854 "preproc.c" break; case 3154: /* bare_label_keyword: ROUTINE */ #line 17063 "preproc.y" { (yyval.str) = mm_strdup("routine"); } #line 62862 "preproc.c" break; case 3155: /* bare_label_keyword: ROUTINES */ #line 17067 "preproc.y" { (yyval.str) = mm_strdup("routines"); } #line 62870 "preproc.c" break; case 3156: /* bare_label_keyword: ROW */ #line 17071 "preproc.y" { (yyval.str) = mm_strdup("row"); } #line 62878 "preproc.c" break; case 3157: /* bare_label_keyword: ROWS */ #line 17075 "preproc.y" { (yyval.str) = mm_strdup("rows"); } #line 62886 "preproc.c" break; case 3158: /* bare_label_keyword: RULE */ #line 17079 "preproc.y" { (yyval.str) = mm_strdup("rule"); } #line 62894 "preproc.c" break; case 3159: /* bare_label_keyword: SAVEPOINT */ #line 17083 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } #line 62902 "preproc.c" break; case 3160: /* bare_label_keyword: SCALAR */ #line 17087 "preproc.y" { (yyval.str) = mm_strdup("scalar"); } #line 62910 "preproc.c" break; case 3161: /* bare_label_keyword: SCHEMA */ #line 17091 "preproc.y" { (yyval.str) = mm_strdup("schema"); } #line 62918 "preproc.c" break; case 3162: /* bare_label_keyword: SCHEMAS */ #line 17095 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } #line 62926 "preproc.c" break; case 3163: /* bare_label_keyword: SCROLL */ #line 17099 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } #line 62934 "preproc.c" break; case 3164: /* bare_label_keyword: SEARCH */ #line 17103 "preproc.y" { (yyval.str) = mm_strdup("search"); } #line 62942 "preproc.c" break; case 3165: /* bare_label_keyword: SECURITY */ #line 17107 "preproc.y" { (yyval.str) = mm_strdup("security"); } #line 62950 "preproc.c" break; case 3166: /* bare_label_keyword: SELECT */ #line 17111 "preproc.y" { (yyval.str) = mm_strdup("select"); } #line 62958 "preproc.c" break; case 3167: /* bare_label_keyword: SEQUENCE */ #line 17115 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } #line 62966 "preproc.c" break; case 3168: /* bare_label_keyword: SEQUENCES */ #line 17119 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } #line 62974 "preproc.c" break; case 3169: /* bare_label_keyword: SERIALIZABLE */ #line 17123 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } #line 62982 "preproc.c" break; case 3170: /* bare_label_keyword: SERVER */ #line 17127 "preproc.y" { (yyval.str) = mm_strdup("server"); } #line 62990 "preproc.c" break; case 3171: /* bare_label_keyword: SESSION */ #line 17131 "preproc.y" { (yyval.str) = mm_strdup("session"); } #line 62998 "preproc.c" break; case 3172: /* bare_label_keyword: SESSION_USER */ #line 17135 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } #line 63006 "preproc.c" break; case 3173: /* bare_label_keyword: SET */ #line 17139 "preproc.y" { (yyval.str) = mm_strdup("set"); } #line 63014 "preproc.c" break; case 3174: /* bare_label_keyword: SETOF */ #line 17143 "preproc.y" { (yyval.str) = mm_strdup("setof"); } #line 63022 "preproc.c" break; case 3175: /* bare_label_keyword: SETS */ #line 17147 "preproc.y" { (yyval.str) = mm_strdup("sets"); } #line 63030 "preproc.c" break; case 3176: /* bare_label_keyword: SHARE */ #line 17151 "preproc.y" { (yyval.str) = mm_strdup("share"); } #line 63038 "preproc.c" break; case 3177: /* bare_label_keyword: SHOW */ #line 17155 "preproc.y" { (yyval.str) = mm_strdup("show"); } #line 63046 "preproc.c" break; case 3178: /* bare_label_keyword: SIMILAR */ #line 17159 "preproc.y" { (yyval.str) = mm_strdup("similar"); } #line 63054 "preproc.c" break; case 3179: /* bare_label_keyword: SIMPLE */ #line 17163 "preproc.y" { (yyval.str) = mm_strdup("simple"); } #line 63062 "preproc.c" break; case 3180: /* bare_label_keyword: SKIP */ #line 17167 "preproc.y" { (yyval.str) = mm_strdup("skip"); } #line 63070 "preproc.c" break; case 3181: /* bare_label_keyword: SMALLINT */ #line 17171 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } #line 63078 "preproc.c" break; case 3182: /* bare_label_keyword: SNAPSHOT */ #line 17175 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } #line 63086 "preproc.c" break; case 3183: /* bare_label_keyword: SOME */ #line 17179 "preproc.y" { (yyval.str) = mm_strdup("some"); } #line 63094 "preproc.c" break; case 3184: /* bare_label_keyword: SQL_P */ #line 17183 "preproc.y" { (yyval.str) = mm_strdup("sql"); } #line 63102 "preproc.c" break; case 3185: /* bare_label_keyword: STABLE */ #line 17187 "preproc.y" { (yyval.str) = mm_strdup("stable"); } #line 63110 "preproc.c" break; case 3186: /* bare_label_keyword: STANDALONE_P */ #line 17191 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } #line 63118 "preproc.c" break; case 3187: /* bare_label_keyword: START */ #line 17195 "preproc.y" { (yyval.str) = mm_strdup("start"); } #line 63126 "preproc.c" break; case 3188: /* bare_label_keyword: STATEMENT */ #line 17199 "preproc.y" { (yyval.str) = mm_strdup("statement"); } #line 63134 "preproc.c" break; case 3189: /* bare_label_keyword: STATISTICS */ #line 17203 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } #line 63142 "preproc.c" break; case 3190: /* bare_label_keyword: STDIN */ #line 17207 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } #line 63150 "preproc.c" break; case 3191: /* bare_label_keyword: STDOUT */ #line 17211 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } #line 63158 "preproc.c" break; case 3192: /* bare_label_keyword: STORAGE */ #line 17215 "preproc.y" { (yyval.str) = mm_strdup("storage"); } #line 63166 "preproc.c" break; case 3193: /* bare_label_keyword: STORED */ #line 17219 "preproc.y" { (yyval.str) = mm_strdup("stored"); } #line 63174 "preproc.c" break; case 3194: /* bare_label_keyword: STRICT_P */ #line 17223 "preproc.y" { (yyval.str) = mm_strdup("strict"); } #line 63182 "preproc.c" break; case 3195: /* bare_label_keyword: STRIP_P */ #line 17227 "preproc.y" { (yyval.str) = mm_strdup("strip"); } #line 63190 "preproc.c" break; case 3196: /* bare_label_keyword: SUBSCRIPTION */ #line 17231 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } #line 63198 "preproc.c" break; case 3197: /* bare_label_keyword: SUBSTRING */ #line 17235 "preproc.y" { (yyval.str) = mm_strdup("substring"); } #line 63206 "preproc.c" break; case 3198: /* bare_label_keyword: SUPPORT */ #line 17239 "preproc.y" { (yyval.str) = mm_strdup("support"); } #line 63214 "preproc.c" break; case 3199: /* bare_label_keyword: SYMMETRIC */ #line 17243 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } #line 63222 "preproc.c" break; case 3200: /* bare_label_keyword: SYSID */ #line 17247 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } #line 63230 "preproc.c" break; case 3201: /* bare_label_keyword: SYSTEM_P */ #line 17251 "preproc.y" { (yyval.str) = mm_strdup("system"); } #line 63238 "preproc.c" break; case 3202: /* bare_label_keyword: SYSTEM_USER */ #line 17255 "preproc.y" { (yyval.str) = mm_strdup("system_user"); } #line 63246 "preproc.c" break; case 3203: /* bare_label_keyword: TABLE */ #line 17259 "preproc.y" { (yyval.str) = mm_strdup("table"); } #line 63254 "preproc.c" break; case 3204: /* bare_label_keyword: TABLES */ #line 17263 "preproc.y" { (yyval.str) = mm_strdup("tables"); } #line 63262 "preproc.c" break; case 3205: /* bare_label_keyword: TABLESAMPLE */ #line 17267 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } #line 63270 "preproc.c" break; case 3206: /* bare_label_keyword: TABLESPACE */ #line 17271 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } #line 63278 "preproc.c" break; case 3207: /* bare_label_keyword: TEMP */ #line 17275 "preproc.y" { (yyval.str) = mm_strdup("temp"); } #line 63286 "preproc.c" break; case 3208: /* bare_label_keyword: TEMPLATE */ #line 17279 "preproc.y" { (yyval.str) = mm_strdup("template"); } #line 63294 "preproc.c" break; case 3209: /* bare_label_keyword: TEMPORARY */ #line 17283 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } #line 63302 "preproc.c" break; case 3210: /* bare_label_keyword: TEXT_P */ #line 17287 "preproc.y" { (yyval.str) = mm_strdup("text"); } #line 63310 "preproc.c" break; case 3211: /* bare_label_keyword: THEN */ #line 17291 "preproc.y" { (yyval.str) = mm_strdup("then"); } #line 63318 "preproc.c" break; case 3212: /* bare_label_keyword: TIES */ #line 17295 "preproc.y" { (yyval.str) = mm_strdup("ties"); } #line 63326 "preproc.c" break; case 3213: /* bare_label_keyword: TIME */ #line 17299 "preproc.y" { (yyval.str) = mm_strdup("time"); } #line 63334 "preproc.c" break; case 3214: /* bare_label_keyword: TIMESTAMP */ #line 17303 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } #line 63342 "preproc.c" break; case 3215: /* bare_label_keyword: TRAILING */ #line 17307 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } #line 63350 "preproc.c" break; case 3216: /* bare_label_keyword: TRANSACTION */ #line 17311 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } #line 63358 "preproc.c" break; case 3217: /* bare_label_keyword: TRANSFORM */ #line 17315 "preproc.y" { (yyval.str) = mm_strdup("transform"); } #line 63366 "preproc.c" break; case 3218: /* bare_label_keyword: TREAT */ #line 17319 "preproc.y" { (yyval.str) = mm_strdup("treat"); } #line 63374 "preproc.c" break; case 3219: /* bare_label_keyword: TRIGGER */ #line 17323 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } #line 63382 "preproc.c" break; case 3220: /* bare_label_keyword: TRIM */ #line 17327 "preproc.y" { (yyval.str) = mm_strdup("trim"); } #line 63390 "preproc.c" break; case 3221: /* bare_label_keyword: TRUE_P */ #line 17331 "preproc.y" { (yyval.str) = mm_strdup("true"); } #line 63398 "preproc.c" break; case 3222: /* bare_label_keyword: TRUNCATE */ #line 17335 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } #line 63406 "preproc.c" break; case 3223: /* bare_label_keyword: TRUSTED */ #line 17339 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } #line 63414 "preproc.c" break; case 3224: /* bare_label_keyword: TYPE_P */ #line 17343 "preproc.y" { (yyval.str) = mm_strdup("type"); } #line 63422 "preproc.c" break; case 3225: /* bare_label_keyword: TYPES_P */ #line 17347 "preproc.y" { (yyval.str) = mm_strdup("types"); } #line 63430 "preproc.c" break; case 3226: /* bare_label_keyword: UESCAPE */ #line 17351 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } #line 63438 "preproc.c" break; case 3227: /* bare_label_keyword: UNBOUNDED */ #line 17355 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } #line 63446 "preproc.c" break; case 3228: /* bare_label_keyword: UNCOMMITTED */ #line 17359 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } #line 63454 "preproc.c" break; case 3229: /* bare_label_keyword: UNENCRYPTED */ #line 17363 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } #line 63462 "preproc.c" break; case 3230: /* bare_label_keyword: UNIQUE */ #line 17367 "preproc.y" { (yyval.str) = mm_strdup("unique"); } #line 63470 "preproc.c" break; case 3231: /* bare_label_keyword: UNKNOWN */ #line 17371 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } #line 63478 "preproc.c" break; case 3232: /* bare_label_keyword: UNLISTEN */ #line 17375 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } #line 63486 "preproc.c" break; case 3233: /* bare_label_keyword: UNLOGGED */ #line 17379 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } #line 63494 "preproc.c" break; case 3234: /* bare_label_keyword: UNTIL */ #line 17383 "preproc.y" { (yyval.str) = mm_strdup("until"); } #line 63502 "preproc.c" break; case 3235: /* bare_label_keyword: UPDATE */ #line 17387 "preproc.y" { (yyval.str) = mm_strdup("update"); } #line 63510 "preproc.c" break; case 3236: /* bare_label_keyword: USER */ #line 17391 "preproc.y" { (yyval.str) = mm_strdup("user"); } #line 63518 "preproc.c" break; case 3237: /* bare_label_keyword: USING */ #line 17395 "preproc.y" { (yyval.str) = mm_strdup("using"); } #line 63526 "preproc.c" break; case 3238: /* bare_label_keyword: VACUUM */ #line 17399 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } #line 63534 "preproc.c" break; case 3239: /* bare_label_keyword: VALID */ #line 17403 "preproc.y" { (yyval.str) = mm_strdup("valid"); } #line 63542 "preproc.c" break; case 3240: /* bare_label_keyword: VALIDATE */ #line 17407 "preproc.y" { (yyval.str) = mm_strdup("validate"); } #line 63550 "preproc.c" break; case 3241: /* bare_label_keyword: VALIDATOR */ #line 17411 "preproc.y" { (yyval.str) = mm_strdup("validator"); } #line 63558 "preproc.c" break; case 3242: /* bare_label_keyword: VALUE_P */ #line 17415 "preproc.y" { (yyval.str) = mm_strdup("value"); } #line 63566 "preproc.c" break; case 3243: /* bare_label_keyword: VALUES */ #line 17419 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 63574 "preproc.c" break; case 3244: /* bare_label_keyword: VARCHAR */ #line 17423 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 63582 "preproc.c" break; case 3245: /* bare_label_keyword: VARIADIC */ #line 17427 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } #line 63590 "preproc.c" break; case 3246: /* bare_label_keyword: VERBOSE */ #line 17431 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } #line 63598 "preproc.c" break; case 3247: /* bare_label_keyword: VERSION_P */ #line 17435 "preproc.y" { (yyval.str) = mm_strdup("version"); } #line 63606 "preproc.c" break; case 3248: /* bare_label_keyword: VIEW */ #line 17439 "preproc.y" { (yyval.str) = mm_strdup("view"); } #line 63614 "preproc.c" break; case 3249: /* bare_label_keyword: VIEWS */ #line 17443 "preproc.y" { (yyval.str) = mm_strdup("views"); } #line 63622 "preproc.c" break; case 3250: /* bare_label_keyword: VOLATILE */ #line 17447 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 63630 "preproc.c" break; case 3251: /* bare_label_keyword: WHEN */ #line 17451 "preproc.y" { (yyval.str) = mm_strdup("when"); } #line 63638 "preproc.c" break; case 3252: /* bare_label_keyword: WHITESPACE_P */ #line 17455 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } #line 63646 "preproc.c" break; case 3253: /* bare_label_keyword: WORK */ #line 17459 "preproc.y" { (yyval.str) = mm_strdup("work"); } #line 63654 "preproc.c" break; case 3254: /* bare_label_keyword: WRAPPER */ #line 17463 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } #line 63662 "preproc.c" break; case 3255: /* bare_label_keyword: WRITE */ #line 17467 "preproc.y" { (yyval.str) = mm_strdup("write"); } #line 63670 "preproc.c" break; case 3256: /* bare_label_keyword: XML_P */ #line 17471 "preproc.y" { (yyval.str) = mm_strdup("xml"); } #line 63678 "preproc.c" break; case 3257: /* bare_label_keyword: XMLATTRIBUTES */ #line 17475 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } #line 63686 "preproc.c" break; case 3258: /* bare_label_keyword: XMLCONCAT */ #line 17479 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } #line 63694 "preproc.c" break; case 3259: /* bare_label_keyword: XMLELEMENT */ #line 17483 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } #line 63702 "preproc.c" break; case 3260: /* bare_label_keyword: XMLEXISTS */ #line 17487 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } #line 63710 "preproc.c" break; case 3261: /* bare_label_keyword: XMLFOREST */ #line 17491 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } #line 63718 "preproc.c" break; case 3262: /* bare_label_keyword: XMLNAMESPACES */ #line 17495 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } #line 63726 "preproc.c" break; case 3263: /* bare_label_keyword: XMLPARSE */ #line 17499 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } #line 63734 "preproc.c" break; case 3264: /* bare_label_keyword: XMLPI */ #line 17503 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } #line 63742 "preproc.c" break; case 3265: /* bare_label_keyword: XMLROOT */ #line 17507 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } #line 63750 "preproc.c" break; case 3266: /* bare_label_keyword: XMLSERIALIZE */ #line 17511 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } #line 63758 "preproc.c" break; case 3267: /* bare_label_keyword: XMLTABLE */ #line 17515 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } #line 63766 "preproc.c" break; case 3268: /* bare_label_keyword: YES_P */ #line 17519 "preproc.y" { (yyval.str) = mm_strdup("yes"); } #line 63774 "preproc.c" break; case 3269: /* bare_label_keyword: ZONE */ #line 17523 "preproc.y" { (yyval.str) = mm_strdup("zone"); } #line 63782 "preproc.c" break; case 3272: /* statement: ecpgstart at toplevel_stmt ';' */ #line 17537 "preproc.y" { if (connection) free(connection); connection = NULL; } #line 63792 "preproc.c" break; case 3273: /* statement: ecpgstart toplevel_stmt ';' */ #line 17543 "preproc.y" { if (connection) free(connection); connection = NULL; } #line 63802 "preproc.c" break; case 3274: /* statement: ecpgstart ECPGVarDeclaration */ #line 17549 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); output_line_number(); } #line 63812 "preproc.c" break; case 3276: /* statement: c_thing */ #line 17555 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } #line 63818 "preproc.c" break; case 3277: /* statement: CPP_LINE */ #line 17556 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } #line 63824 "preproc.c" break; case 3278: /* statement: '{' */ #line 17557 "preproc.y" { braces_open++; fputs("{", base_yyout); } #line 63830 "preproc.c" break; case 3279: /* statement: '}' */ #line 17559 "preproc.y" { remove_typedefs(braces_open); remove_variables(braces_open--); if (braces_open == 0) { free(current_function); current_function = NULL; } fputs("}", base_yyout); } #line 63845 "preproc.c" break; case 3280: /* $@1: %empty */ #line 17571 "preproc.y" {FoundInto = 0;} #line 63851 "preproc.c" break; case 3281: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS $@1 SelectStmt opt_with_data */ #line 17572 "preproc.y" { if (FoundInto == 1) mmerror(PARSE_ERROR, ET_ERROR, "CREATE TABLE AS cannot specify INTO"); (yyval.str) = cat_str(7, mm_strdup("create"), (yyvsp[-6].str), mm_strdup("table"), (yyvsp[-4].str), mm_strdup("as"), (yyvsp[-1].str), (yyvsp[0].str)); } #line 63862 "preproc.c" break; case 3282: /* $@2: %empty */ #line 17578 "preproc.y" {FoundInto = 0;} #line 63868 "preproc.c" break; case 3283: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS $@2 SelectStmt opt_with_data */ #line 17579 "preproc.y" { if (FoundInto == 1) mmerror(PARSE_ERROR, ET_ERROR, "CREATE TABLE AS cannot specify INTO"); (yyval.str) = cat_str(7, mm_strdup("create"), (yyvsp[-9].str), mm_strdup("table if not exists"), (yyvsp[-4].str), mm_strdup("as"), (yyvsp[-1].str), (yyvsp[0].str)); } #line 63879 "preproc.c" break; case 3284: /* at: AT connection_object */ #line 17588 "preproc.y" { connection = (yyvsp[0].str); /* * Do we have a variable as connection target? Remove the variable * from the variable list or else it will be used twice. */ if (argsinsert != NULL) argsinsert = NULL; } #line 63893 "preproc.c" break; case 3285: /* ECPGConnect: SQL_CONNECT TO connection_target opt_connection_name opt_user */ #line 17603 "preproc.y" { (yyval.str) = cat_str(5, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str), mm_strdup(","), (yyvsp[-1].str)); } #line 63899 "preproc.c" break; case 3286: /* ECPGConnect: SQL_CONNECT TO DEFAULT */ #line 17605 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL, NULL, \"DEFAULT\""); } #line 63905 "preproc.c" break; case 3287: /* ECPGConnect: SQL_CONNECT ora_user */ #line 17608 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("NULL,"), (yyvsp[0].str), mm_strdup(", NULL")); } #line 63911 "preproc.c" break; case 3288: /* ECPGConnect: DATABASE connection_target */ #line 17610 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL, NULL, NULL")); } #line 63917 "preproc.c" break; case 3289: /* connection_target: opt_database_name opt_server opt_port */ #line 17614 "preproc.y" { /* old style: dbname[@server][:port] */ if (strlen((yyvsp[-1].str)) > 0 && *((yyvsp[-1].str)) != '@') mmerror(PARSE_ERROR, ET_ERROR, "expected \"@\", found \"%s\"", (yyvsp[-1].str)); /* C strings need to be handled differently */ if ((yyvsp[-2].str)[0] == '\"') (yyval.str) = (yyvsp[-2].str); else (yyval.str) = make3_str(mm_strdup("\""), make3_str((yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)), mm_strdup("\"")); } #line 63933 "preproc.c" break; case 3290: /* connection_target: db_prefix ':' server opt_port '/' opt_database_name opt_options */ #line 17626 "preproc.y" { /* new style: :postgresql://server[:port][/dbname] */ if (strncmp((yyvsp[-6].str), "unix:postgresql", strlen("unix:postgresql")) != 0 && strncmp((yyvsp[-6].str), "tcp:postgresql", strlen("tcp:postgresql")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported"); if (strncmp((yyvsp[-4].str), "//", strlen("//")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "expected \"://\", found \"%s\"", (yyvsp[-4].str)); if (strncmp((yyvsp[-6].str), "unix", strlen("unix")) == 0 && strncmp((yyvsp[-4].str) + strlen("//"), "localhost", strlen("localhost")) != 0 && strncmp((yyvsp[-4].str) + strlen("//"), "127.0.0.1", strlen("127.0.0.1")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "Unix-domain sockets only work on \"localhost\" but not on \"%s\"", (yyvsp[-4].str) + strlen("//")); (yyval.str) = make3_str(make3_str(mm_strdup("\""), (yyvsp[-6].str), mm_strdup(":")), (yyvsp[-4].str), make3_str(make3_str((yyvsp[-3].str), mm_strdup("/"), (yyvsp[-1].str)), (yyvsp[0].str), mm_strdup("\""))); } #line 63953 "preproc.c" break; case 3291: /* connection_target: char_variable */ #line 17642 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63961 "preproc.c" break; case 3292: /* connection_target: ecpg_sconst */ #line 17646 "preproc.y" { /* We can only process double quoted strings not single quotes ones, * so we change the quotes. * Note, that the rule for ecpg_sconst adds these single quotes. */ (yyvsp[0].str)[0] = '\"'; (yyvsp[0].str)[strlen((yyvsp[0].str))-1] = '\"'; (yyval.str) = (yyvsp[0].str); } #line 63974 "preproc.c" break; case 3293: /* opt_database_name: name */ #line 17656 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 63980 "preproc.c" break; case 3294: /* opt_database_name: %empty */ #line 17657 "preproc.y" { (yyval.str) = EMPTY; } #line 63986 "preproc.c" break; case 3295: /* db_prefix: ecpg_ident cvariable */ #line 17661 "preproc.y" { if (strcmp((yyvsp[0].str), "postgresql") != 0 && strcmp((yyvsp[0].str), "postgres") != 0) mmerror(PARSE_ERROR, ET_ERROR, "expected \"postgresql\", found \"%s\"", (yyvsp[0].str)); if (strcmp((yyvsp[-1].str), "tcp") != 0 && strcmp((yyvsp[-1].str), "unix") != 0) mmerror(PARSE_ERROR, ET_ERROR, "invalid connection type: %s", (yyvsp[-1].str)); (yyval.str) = make3_str((yyvsp[-1].str), mm_strdup(":"), (yyvsp[0].str)); } #line 64000 "preproc.c" break; case 3296: /* server: Op server_name */ #line 17673 "preproc.y" { if (strcmp((yyvsp[-1].str), "@") != 0 && strcmp((yyvsp[-1].str), "//") != 0) mmerror(PARSE_ERROR, ET_ERROR, "expected \"@\" or \"://\", found \"%s\"", (yyvsp[-1].str)); (yyval.str) = make2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 64011 "preproc.c" break; case 3297: /* opt_server: server */ #line 17681 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64017 "preproc.c" break; case 3298: /* opt_server: %empty */ #line 17682 "preproc.y" { (yyval.str) = EMPTY; } #line 64023 "preproc.c" break; case 3299: /* server_name: ColId */ #line 17685 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64029 "preproc.c" break; case 3300: /* server_name: ColId '.' server_name */ #line 17686 "preproc.y" { (yyval.str) = make3_str((yyvsp[-2].str), mm_strdup("."), (yyvsp[0].str)); } #line 64035 "preproc.c" break; case 3301: /* server_name: IP */ #line 17687 "preproc.y" { (yyval.str) = make_name(); } #line 64041 "preproc.c" break; case 3302: /* opt_port: ':' Iconst */ #line 17690 "preproc.y" { (yyval.str) = make2_str(mm_strdup(":"), (yyvsp[0].str)); } #line 64047 "preproc.c" break; case 3303: /* opt_port: %empty */ #line 17691 "preproc.y" { (yyval.str) = EMPTY; } #line 64053 "preproc.c" break; case 3304: /* opt_connection_name: AS connection_object */ #line 17694 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64059 "preproc.c" break; case 3305: /* opt_connection_name: %empty */ #line 17695 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } #line 64065 "preproc.c" break; case 3306: /* opt_user: USER ora_user */ #line 17698 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64071 "preproc.c" break; case 3307: /* opt_user: %empty */ #line 17699 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL"); } #line 64077 "preproc.c" break; case 3308: /* ora_user: user_name */ #line 17703 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL")); } #line 64083 "preproc.c" break; case 3309: /* ora_user: user_name '/' user_name */ #line 17705 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 64089 "preproc.c" break; case 3310: /* ora_user: user_name SQL_IDENTIFIED BY user_name */ #line 17707 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-3].str), mm_strdup(","), (yyvsp[0].str)); } #line 64095 "preproc.c" break; case 3311: /* ora_user: user_name USING user_name */ #line 17709 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 64101 "preproc.c" break; case 3312: /* user_name: RoleId */ #line 17713 "preproc.y" { if ((yyvsp[0].str)[0] == '\"') (yyval.str) = (yyvsp[0].str); else (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 64112 "preproc.c" break; case 3313: /* user_name: ecpg_sconst */ #line 17720 "preproc.y" { if ((yyvsp[0].str)[0] == '\"') (yyval.str) = (yyvsp[0].str); else (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 64123 "preproc.c" break; case 3314: /* user_name: civar */ #line 17727 "preproc.y" { enum ECPGttype type = argsinsert->variable->type->type; /* if array see what's inside */ if (type == ECPGt_array) type = argsinsert->variable->type->u.element->type; /* handle varchars */ if (type == ECPGt_varchar) (yyval.str) = make2_str(mm_strdup(argsinsert->variable->name), mm_strdup(".arr")); else (yyval.str) = mm_strdup(argsinsert->variable->name); } #line 64141 "preproc.c" break; case 3315: /* char_variable: cvariable */ #line 17743 "preproc.y" { /* check if we have a string variable */ struct variable *p = find_variable((yyvsp[0].str)); enum ECPGttype type = p->type->type; /* If we have just one character this is not a string */ if (atol(p->type->size) == 1) mmerror(PARSE_ERROR, ET_ERROR, "invalid data type"); else { /* if array see what's inside */ if (type == ECPGt_array) type = p->type->u.element->type; switch (type) { case ECPGt_char: case ECPGt_unsigned_char: case ECPGt_string: (yyval.str) = (yyvsp[0].str); break; case ECPGt_varchar: (yyval.str) = make2_str((yyvsp[0].str), mm_strdup(".arr")); break; default: mmerror(PARSE_ERROR, ET_ERROR, "invalid data type"); (yyval.str) = (yyvsp[0].str); break; } } } #line 64177 "preproc.c" break; case 3316: /* opt_options: Op connect_options */ #line 17777 "preproc.y" { if (strlen((yyvsp[-1].str)) == 0) mmerror(PARSE_ERROR, ET_ERROR, "incomplete statement"); if (strcmp((yyvsp[-1].str), "?") != 0) mmerror(PARSE_ERROR, ET_ERROR, "unrecognized token \"%s\"", (yyvsp[-1].str)); (yyval.str) = make2_str(mm_strdup("?"), (yyvsp[0].str)); } #line 64191 "preproc.c" break; case 3317: /* opt_options: %empty */ #line 17786 "preproc.y" { (yyval.str) = EMPTY; } #line 64197 "preproc.c" break; case 3318: /* connect_options: ColId opt_opt_value */ #line 17790 "preproc.y" { (yyval.str) = make2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 64205 "preproc.c" break; case 3319: /* connect_options: ColId opt_opt_value Op connect_options */ #line 17794 "preproc.y" { if (strlen((yyvsp[-1].str)) == 0) mmerror(PARSE_ERROR, ET_ERROR, "incomplete statement"); if (strcmp((yyvsp[-1].str), "&") != 0) mmerror(PARSE_ERROR, ET_ERROR, "unrecognized token \"%s\"", (yyvsp[-1].str)); (yyval.str) = cat_str(3, make2_str((yyvsp[-3].str), (yyvsp[-2].str)), (yyvsp[-1].str), (yyvsp[0].str)); } #line 64219 "preproc.c" break; case 3320: /* opt_opt_value: %empty */ #line 17806 "preproc.y" { (yyval.str) = EMPTY; } #line 64225 "preproc.c" break; case 3321: /* opt_opt_value: '=' Iconst */ #line 17808 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 64231 "preproc.c" break; case 3322: /* opt_opt_value: '=' ecpg_ident */ #line 17810 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 64237 "preproc.c" break; case 3323: /* opt_opt_value: '=' civar */ #line 17812 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } #line 64243 "preproc.c" break; case 3324: /* prepared_name: name */ #line 17816 "preproc.y" { if ((yyvsp[0].str)[0] == '\"' && (yyvsp[0].str)[strlen((yyvsp[0].str))-1] == '\"') /* already quoted? */ (yyval.str) = (yyvsp[0].str); else /* not quoted => convert to lowercase */ { size_t i; for (i = 0; i< strlen((yyvsp[0].str)); i++) (yyvsp[0].str)[i] = tolower((unsigned char) (yyvsp[0].str)[i]); (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } } #line 64261 "preproc.c" break; case 3325: /* prepared_name: char_variable */ #line 17829 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64267 "preproc.c" break; case 3326: /* ECPGDeclareStmt: DECLARE prepared_name STATEMENT */ #line 17836 "preproc.y" { struct declared_list *ptr = NULL; /* Check whether the declared name has been defined or not */ for (ptr = g_declared_list; ptr != NULL; ptr = ptr->next) { if (strcmp((yyvsp[-1].str), ptr->name) == 0) { /* re-definition is not allowed */ mmerror(PARSE_ERROR, ET_ERROR, "name \"%s\" is already declared", ptr->name); } } /* Add a new declared name into the g_declared_list */ ptr = NULL; ptr = (struct declared_list *)mm_alloc(sizeof(struct declared_list)); if (ptr) { /* initial definition */ ptr -> name = (yyvsp[-1].str); if (connection) ptr -> connection = mm_strdup(connection); else ptr -> connection = NULL; ptr -> next = g_declared_list; g_declared_list = ptr; } (yyval.str) = cat_str(3 , mm_strdup("/* declare "), mm_strdup((yyvsp[-1].str)), mm_strdup(" as an SQL identifier */")); } #line 64302 "preproc.c" break; case 3327: /* ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared_name */ #line 17873 "preproc.y" { struct cursor *ptr, *this; char *cursor_marker = (yyvsp[-5].str)[0] == ':' ? mm_strdup("$0") : mm_strdup((yyvsp[-5].str)); int (* strcmp_fn)(const char *, const char *) = (((yyvsp[-5].str)[0] == ':' || (yyvsp[-5].str)[0] == '"') ? strcmp : pg_strcasecmp); struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); char *comment; char *con; if (INFORMIX_MODE && pg_strcasecmp((yyvsp[-5].str), "database") == 0) mmfatal(PARSE_ERROR, "\"database\" cannot be used as cursor name in INFORMIX mode"); check_declared_list((yyvsp[0].str)); con = connection ? connection : "NULL"; for (ptr = cur; ptr != NULL; ptr = ptr->next) { if (strcmp_fn((yyvsp[-5].str), ptr->name) == 0) { /* re-definition is a bug */ if ((yyvsp[-5].str)[0] == ':') mmerror(PARSE_ERROR, ET_ERROR, "using variable \"%s\" in different declare statements is not supported", (yyvsp[-5].str)+1); else mmerror(PARSE_ERROR, ET_ERROR, "cursor \"%s\" is already defined", (yyvsp[-5].str)); } } this = (struct cursor *) mm_alloc(sizeof(struct cursor)); /* initial definition */ this->next = cur; this->name = (yyvsp[-5].str); this->function = (current_function ? mm_strdup(current_function) : NULL); this->connection = connection ? mm_strdup(connection) : NULL; this->command = cat_str(6, mm_strdup("declare"), cursor_marker, (yyvsp[-4].str), mm_strdup("cursor"), (yyvsp[-2].str), mm_strdup("for $1")); this->argsresult = NULL; this->argsresult_oos = NULL; thisquery->type = &ecpg_query; thisquery->brace_level = 0; thisquery->next = NULL; thisquery->name = (char *) mm_alloc(sizeof("ECPGprepared_statement(, , __LINE__)") + strlen(con) + strlen((yyvsp[0].str))); sprintf(thisquery->name, "ECPGprepared_statement(%s, %s, __LINE__)", con, (yyvsp[0].str)); this->argsinsert = NULL; this->argsinsert_oos = NULL; if ((yyvsp[-5].str)[0] == ':') { struct variable *var = find_variable((yyvsp[-5].str) + 1); remove_variable_from_list(&argsinsert, var); add_variable_to_head(&(this->argsinsert), var, &no_indicator); } add_variable_to_head(&(this->argsinsert), thisquery, &no_indicator); cur = this; comment = cat_str(3, mm_strdup("/*"), mm_strdup(this->command), mm_strdup("*/")); (yyval.str) = cat_str(2, adjust_outofscope_cursor_vars(this), comment); } #line 64366 "preproc.c" break; case 3328: /* ECPGExecuteImmediateStmt: EXECUTE IMMEDIATE execstring */ #line 17935 "preproc.y" { /* execute immediate means prepare the statement and * immediately execute it */ (yyval.str) = (yyvsp[0].str); } #line 64376 "preproc.c" break; case 3330: /* single_vt_declaration: type_declaration */ #line 17945 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64382 "preproc.c" break; case 3331: /* single_vt_declaration: var_declaration */ #line 17946 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64388 "preproc.c" break; case 3332: /* precision: NumericOnly */ #line 17949 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64394 "preproc.c" break; case 3333: /* opt_scale: ',' NumericOnly */ #line 17951 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64400 "preproc.c" break; case 3334: /* opt_scale: %empty */ #line 17952 "preproc.y" { (yyval.str) = EMPTY; } #line 64406 "preproc.c" break; case 3335: /* ecpg_interval: opt_interval */ #line 17955 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64412 "preproc.c" break; case 3336: /* ecpg_interval: YEAR_P TO MINUTE_P */ #line 17956 "preproc.y" { (yyval.str) = mm_strdup("year to minute"); } #line 64418 "preproc.c" break; case 3337: /* ecpg_interval: YEAR_P TO SECOND_P */ #line 17957 "preproc.y" { (yyval.str) = mm_strdup("year to second"); } #line 64424 "preproc.c" break; case 3338: /* ecpg_interval: DAY_P TO DAY_P */ #line 17958 "preproc.y" { (yyval.str) = mm_strdup("day to day"); } #line 64430 "preproc.c" break; case 3339: /* ecpg_interval: MONTH_P TO MONTH_P */ #line 17959 "preproc.y" { (yyval.str) = mm_strdup("month to month"); } #line 64436 "preproc.c" break; case 3340: /* $@3: %empty */ #line 17966 "preproc.y" { fputs("/* exec sql begin declare section */", base_yyout); } #line 64442 "preproc.c" break; case 3341: /* ECPGDeclaration: sql_startdeclare $@3 var_type_declarations sql_enddeclare */ #line 17968 "preproc.y" { fprintf(base_yyout, "%s/* exec sql end declare section */", (yyvsp[-1].str)); free((yyvsp[-1].str)); output_line_number(); } #line 64452 "preproc.c" break; case 3342: /* sql_startdeclare: ecpgstart BEGIN_P DECLARE SQL_SECTION ';' */ #line 17975 "preproc.y" {} #line 64458 "preproc.c" break; case 3343: /* sql_enddeclare: ecpgstart END_P DECLARE SQL_SECTION ';' */ #line 17977 "preproc.y" {} #line 64464 "preproc.c" break; case 3344: /* var_type_declarations: %empty */ #line 17979 "preproc.y" { (yyval.str) = EMPTY; } #line 64470 "preproc.c" break; case 3345: /* var_type_declarations: vt_declarations */ #line 17980 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64476 "preproc.c" break; case 3346: /* vt_declarations: single_vt_declaration */ #line 17983 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64482 "preproc.c" break; case 3347: /* vt_declarations: CPP_LINE */ #line 17984 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64488 "preproc.c" break; case 3348: /* vt_declarations: vt_declarations single_vt_declaration */ #line 17985 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 64494 "preproc.c" break; case 3349: /* vt_declarations: vt_declarations CPP_LINE */ #line 17986 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 64500 "preproc.c" break; case 3350: /* variable_declarations: var_declaration */ #line 17989 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 64506 "preproc.c" break; case 3351: /* variable_declarations: variable_declarations var_declaration */ #line 17990 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 64512 "preproc.c" break; case 3352: /* $@4: %empty */ #line 17994 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 64522 "preproc.c" break; case 3353: /* type_declaration: S_TYPEDEF $@4 var_type opt_pointer ECPGColLabel opt_array_bounds ';' */ #line 18000 "preproc.y" { add_typedef((yyvsp[-2].str), (yyvsp[-1].index).index1, (yyvsp[-1].index).index2, (yyvsp[-4].type).type_enum, (yyvsp[-4].type).type_dimension, (yyvsp[-4].type).type_index, initializer, *(yyvsp[-3].str) ? 1 : 0); fprintf(base_yyout, "typedef %s %s %s %s;\n", (yyvsp[-4].type).type_str, *(yyvsp[-3].str) ? "*" : "", (yyvsp[-2].str), (yyvsp[-1].index).str); output_line_number(); (yyval.str) = mm_strdup(""); } #line 64534 "preproc.c" break; case 3354: /* $@5: %empty */ #line 18010 "preproc.y" { actual_type[struct_level].type_storage = (yyvsp[-1].str); actual_type[struct_level].type_enum = (yyvsp[0].type).type_enum; actual_type[struct_level].type_str = (yyvsp[0].type).type_str; actual_type[struct_level].type_dimension = (yyvsp[0].type).type_dimension; actual_type[struct_level].type_index = (yyvsp[0].type).type_index; actual_type[struct_level].type_sizeof = (yyvsp[0].type).type_sizeof; actual_startline[struct_level] = hashline_number(); } #line 64549 "preproc.c" break; case 3355: /* var_declaration: storage_declaration var_type $@5 variable_list ';' */ #line 18021 "preproc.y" { (yyval.str) = cat_str(5, actual_startline[struct_level], (yyvsp[-4].str), (yyvsp[-3].type).type_str, (yyvsp[-1].str), mm_strdup(";\n")); } #line 64557 "preproc.c" break; case 3356: /* $@6: %empty */ #line 18025 "preproc.y" { actual_type[struct_level].type_storage = EMPTY; actual_type[struct_level].type_enum = (yyvsp[0].type).type_enum; actual_type[struct_level].type_str = (yyvsp[0].type).type_str; actual_type[struct_level].type_dimension = (yyvsp[0].type).type_dimension; actual_type[struct_level].type_index = (yyvsp[0].type).type_index; actual_type[struct_level].type_sizeof = (yyvsp[0].type).type_sizeof; actual_startline[struct_level] = hashline_number(); } #line 64572 "preproc.c" break; case 3357: /* var_declaration: var_type $@6 variable_list ';' */ #line 18036 "preproc.y" { (yyval.str) = cat_str(4, actual_startline[struct_level], (yyvsp[-3].type).type_str, (yyvsp[-1].str), mm_strdup(";\n")); } #line 64580 "preproc.c" break; case 3358: /* var_declaration: struct_union_type_with_symbol ';' */ #line 18040 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), mm_strdup(";")); } #line 64588 "preproc.c" break; case 3359: /* opt_bit_field: ':' Iconst */ #line 18045 "preproc.y" { (yyval.str) =cat2_str(mm_strdup(":"), (yyvsp[0].str)); } #line 64594 "preproc.c" break; case 3360: /* opt_bit_field: %empty */ #line 18046 "preproc.y" { (yyval.str) = EMPTY; } #line 64600 "preproc.c" break; case 3361: /* storage_declaration: storage_clause storage_modifier */ #line 18050 "preproc.y" {(yyval.str) = cat2_str ((yyvsp[-1].str), (yyvsp[0].str)); } #line 64606 "preproc.c" break; case 3362: /* storage_declaration: storage_clause */ #line 18051 "preproc.y" {(yyval.str) = (yyvsp[0].str); } #line 64612 "preproc.c" break; case 3363: /* storage_declaration: storage_modifier */ #line 18052 "preproc.y" {(yyval.str) = (yyvsp[0].str); } #line 64618 "preproc.c" break; case 3364: /* storage_clause: S_EXTERN */ #line 18055 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 64624 "preproc.c" break; case 3365: /* storage_clause: S_STATIC */ #line 18056 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 64630 "preproc.c" break; case 3366: /* storage_clause: S_REGISTER */ #line 18057 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 64636 "preproc.c" break; case 3367: /* storage_clause: S_AUTO */ #line 18058 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 64642 "preproc.c" break; case 3368: /* storage_modifier: S_CONST */ #line 18061 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 64648 "preproc.c" break; case 3369: /* storage_modifier: S_VOLATILE */ #line 18062 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 64654 "preproc.c" break; case 3370: /* var_type: simple_type */ #line 18066 "preproc.y" { (yyval.type).type_enum = (yyvsp[0].type_enum); (yyval.type).type_str = mm_strdup(ecpg_type_name((yyvsp[0].type_enum))); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64666 "preproc.c" break; case 3371: /* var_type: struct_union_type */ #line 18074 "preproc.y" { (yyval.type).type_str = (yyvsp[0].str); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); if (strncmp((yyvsp[0].str), "struct", sizeof("struct")-1) == 0) { (yyval.type).type_enum = ECPGt_struct; (yyval.type).type_sizeof = ECPGstruct_sizeof; } else { (yyval.type).type_enum = ECPGt_union; (yyval.type).type_sizeof = NULL; } } #line 64687 "preproc.c" break; case 3372: /* var_type: enum_type */ #line 18091 "preproc.y" { (yyval.type).type_str = (yyvsp[0].str); (yyval.type).type_enum = ECPGt_int; (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64699 "preproc.c" break; case 3373: /* var_type: NUMERIC '(' precision opt_scale ')' */ #line 18099 "preproc.y" { (yyval.type).type_enum = ECPGt_numeric; (yyval.type).type_str = mm_strdup("numeric"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64711 "preproc.c" break; case 3374: /* var_type: DECIMAL_P '(' precision opt_scale ')' */ #line 18107 "preproc.y" { (yyval.type).type_enum = ECPGt_decimal; (yyval.type).type_str = mm_strdup("decimal"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64723 "preproc.c" break; case 3375: /* var_type: IDENT '(' precision opt_scale ')' */ #line 18115 "preproc.y" { /* * In C parsing mode, NUMERIC and DECIMAL are not keywords, so * they will show up here as a plain identifier, and we need * this duplicate code to recognize them. */ if (strcmp((yyvsp[-4].str), "numeric") == 0) { (yyval.type).type_enum = ECPGt_numeric; (yyval.type).type_str = mm_strdup("numeric"); } else if (strcmp((yyvsp[-4].str), "decimal") == 0) { (yyval.type).type_enum = ECPGt_decimal; (yyval.type).type_str = mm_strdup("decimal"); } else { mmerror(PARSE_ERROR, ET_ERROR, "only data types numeric and decimal have precision/scale argument"); (yyval.type).type_enum = ECPGt_numeric; (yyval.type).type_str = mm_strdup("numeric"); } (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64755 "preproc.c" break; case 3376: /* var_type: VARCHAR */ #line 18143 "preproc.y" { (yyval.type).type_enum = ECPGt_varchar; (yyval.type).type_str = EMPTY; /*mm_strdup("varchar");*/ (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64767 "preproc.c" break; case 3377: /* var_type: FLOAT_P */ #line 18151 "preproc.y" { /* Note: DOUBLE is handled in simple_type */ (yyval.type).type_enum = ECPGt_float; (yyval.type).type_str = mm_strdup("float"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64780 "preproc.c" break; case 3378: /* var_type: NUMERIC */ #line 18160 "preproc.y" { (yyval.type).type_enum = ECPGt_numeric; (yyval.type).type_str = mm_strdup("numeric"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64792 "preproc.c" break; case 3379: /* var_type: DECIMAL_P */ #line 18168 "preproc.y" { (yyval.type).type_enum = ECPGt_decimal; (yyval.type).type_str = mm_strdup("decimal"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64804 "preproc.c" break; case 3380: /* var_type: TIMESTAMP */ #line 18176 "preproc.y" { (yyval.type).type_enum = ECPGt_timestamp; (yyval.type).type_str = mm_strdup("timestamp"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64816 "preproc.c" break; case 3381: /* var_type: INTERVAL ecpg_interval */ #line 18184 "preproc.y" { (yyval.type).type_enum = ECPGt_interval; (yyval.type).type_str = mm_strdup("interval"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } #line 64828 "preproc.c" break; case 3382: /* var_type: IDENT ecpg_interval */ #line 18192 "preproc.y" { /* * In C parsing mode, the above SQL type names are not keywords, * so they will show up here as a plain identifier, and we need * this duplicate code to recognize them. * * Note that we also handle the type names bytea, date, and * datetime here, but not above because those are not currently * SQL keywords. If they ever become so, they must gain duplicate * productions above. */ if (strlen((yyvsp[0].str)) != 0 && strcmp ((yyvsp[-1].str), "datetime") != 0 && strcmp ((yyvsp[-1].str), "interval") != 0) mmerror (PARSE_ERROR, ET_ERROR, "interval specification not allowed here"); if (strcmp((yyvsp[-1].str), "varchar") == 0) { (yyval.type).type_enum = ECPGt_varchar; (yyval.type).type_str = EMPTY; /*mm_strdup("varchar");*/ (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "bytea") == 0) { (yyval.type).type_enum = ECPGt_bytea; (yyval.type).type_str = EMPTY; (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "float") == 0) { (yyval.type).type_enum = ECPGt_float; (yyval.type).type_str = mm_strdup("float"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "double") == 0) { (yyval.type).type_enum = ECPGt_double; (yyval.type).type_str = mm_strdup("double"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "numeric") == 0) { (yyval.type).type_enum = ECPGt_numeric; (yyval.type).type_str = mm_strdup("numeric"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "decimal") == 0) { (yyval.type).type_enum = ECPGt_decimal; (yyval.type).type_str = mm_strdup("decimal"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "date") == 0) { (yyval.type).type_enum = ECPGt_date; (yyval.type).type_str = mm_strdup("date"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "timestamp") == 0) { (yyval.type).type_enum = ECPGt_timestamp; (yyval.type).type_str = mm_strdup("timestamp"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "interval") == 0) { (yyval.type).type_enum = ECPGt_interval; (yyval.type).type_str = mm_strdup("interval"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if (strcmp((yyvsp[-1].str), "datetime") == 0) { (yyval.type).type_enum = ECPGt_timestamp; (yyval.type).type_str = mm_strdup("timestamp"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else if ((strcmp((yyvsp[-1].str), "string") == 0) && INFORMIX_MODE) { (yyval.type).type_enum = ECPGt_string; (yyval.type).type_str = mm_strdup("char"); (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } else { /* Otherwise, it must be a user-defined typedef name */ struct typedefs *this = get_typedef((yyvsp[-1].str), false); (yyval.type).type_str = (this->type->type_enum == ECPGt_varchar || this->type->type_enum == ECPGt_bytea) ? EMPTY : mm_strdup(this->name); (yyval.type).type_enum = this->type->type_enum; (yyval.type).type_dimension = this->type->type_dimension; (yyval.type).type_index = this->type->type_index; if (this->type->type_sizeof && strlen(this->type->type_sizeof) != 0) (yyval.type).type_sizeof = this->type->type_sizeof; else (yyval.type).type_sizeof = cat_str(3, mm_strdup("sizeof("), mm_strdup(this->name), mm_strdup(")")); struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); } } #line 64952 "preproc.c" break; case 3383: /* var_type: s_struct_union_symbol */ #line 18312 "preproc.y" { /* this is for named structs/unions */ char *name; struct typedefs *this; bool forward = (forward_name != NULL && strcmp((yyvsp[0].struct_union).symbol, forward_name) == 0 && strcmp((yyvsp[0].struct_union).su, "struct") == 0); name = cat2_str((yyvsp[0].struct_union).su, (yyvsp[0].struct_union).symbol); /* Do we have a forward definition? */ if (!forward) { /* No */ this = get_typedef(name, false); (yyval.type).type_str = mm_strdup(this->name); (yyval.type).type_enum = this->type->type_enum; (yyval.type).type_dimension = this->type->type_dimension; (yyval.type).type_index = this->type->type_index; (yyval.type).type_sizeof = this->type->type_sizeof; struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); free(name); } else { (yyval.type).type_str = name; (yyval.type).type_enum = ECPGt_long; (yyval.type).type_dimension = mm_strdup("-1"); (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = mm_strdup(""); struct_member_list[struct_level] = NULL; } } #line 64988 "preproc.c" break; case 3384: /* enum_type: ENUM_P symbol enum_definition */ #line 18346 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("enum"), (yyvsp[-1].str), (yyvsp[0].str)); } #line 64994 "preproc.c" break; case 3385: /* enum_type: ENUM_P enum_definition */ #line 18348 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } #line 65000 "preproc.c" break; case 3386: /* enum_type: ENUM_P symbol */ #line 18350 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } #line 65006 "preproc.c" break; case 3387: /* enum_definition: '{' c_list '}' */ #line 18354 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 65012 "preproc.c" break; case 3388: /* $@7: %empty */ #line 18357 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "too many levels in nested structure/union definition"); forward_name = mm_strdup((yyvsp[0].struct_union).symbol); } #line 65023 "preproc.c" break; case 3389: /* struct_union_type_with_symbol: s_struct_union_symbol $@7 '{' variable_declarations '}' */ #line 18364 "preproc.y" { struct typedefs *ptr, *this; struct this_type su_type; ECPGfree_struct_member(struct_member_list[struct_level]); struct_member_list[struct_level] = NULL; struct_level--; if (strncmp((yyvsp[-4].struct_union).su, "struct", sizeof("struct")-1) == 0) su_type.type_enum = ECPGt_struct; else su_type.type_enum = ECPGt_union; su_type.type_str = cat2_str((yyvsp[-4].struct_union).su, (yyvsp[-4].struct_union).symbol); free(forward_name); forward_name = NULL; /* This is essentially a typedef but needs the keyword struct/union as well. * So we create the typedef for each struct definition with symbol */ for (ptr = types; ptr != NULL; ptr = ptr->next) { if (strcmp(su_type.type_str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "type \"%s\" is already defined", su_type.type_str); } this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); /* initial definition */ this->next = types; this->name = mm_strdup(su_type.type_str); this->brace_level = braces_open; this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); this->type->type_enum = su_type.type_enum; this->type->type_str = mm_strdup(su_type.type_str); this->type->type_dimension = mm_strdup("-1"); /* dimension of array */ this->type->type_index = mm_strdup("-1"); /* length of string */ this->type->type_sizeof = ECPGstruct_sizeof; this->struct_member_list = struct_member_list[struct_level]; types = this; (yyval.str) = cat_str(4, su_type.type_str, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 65069 "preproc.c" break; case 3390: /* struct_union_type: struct_union_type_with_symbol */ #line 18407 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65075 "preproc.c" break; case 3391: /* $@8: %empty */ #line 18409 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "too many levels in nested structure/union definition"); } #line 65085 "preproc.c" break; case 3392: /* struct_union_type: s_struct_union $@8 '{' variable_declarations '}' */ #line 18415 "preproc.y" { ECPGfree_struct_member(struct_member_list[struct_level]); struct_member_list[struct_level] = NULL; struct_level--; (yyval.str) = cat_str(4, (yyvsp[-4].str), mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 65096 "preproc.c" break; case 3393: /* s_struct_union_symbol: SQL_STRUCT symbol */ #line 18424 "preproc.y" { (yyval.struct_union).su = mm_strdup("struct"); (yyval.struct_union).symbol = (yyvsp[0].str); ECPGstruct_sizeof = cat_str(3, mm_strdup("sizeof("), cat2_str(mm_strdup((yyval.struct_union).su), mm_strdup((yyval.struct_union).symbol)), mm_strdup(")")); } #line 65106 "preproc.c" break; case 3394: /* s_struct_union_symbol: UNION symbol */ #line 18430 "preproc.y" { (yyval.struct_union).su = mm_strdup("union"); (yyval.struct_union).symbol = (yyvsp[0].str); } #line 65115 "preproc.c" break; case 3395: /* s_struct_union: SQL_STRUCT */ #line 18437 "preproc.y" { ECPGstruct_sizeof = mm_strdup(""); /* This must not be NULL to distinguish from simple types. */ (yyval.str) = mm_strdup("struct"); } #line 65124 "preproc.c" break; case 3396: /* s_struct_union: UNION */ #line 18442 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 65132 "preproc.c" break; case 3397: /* simple_type: unsigned_type */ #line 18447 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } #line 65138 "preproc.c" break; case 3398: /* simple_type: opt_signed signed_type */ #line 18448 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } #line 65144 "preproc.c" break; case 3399: /* unsigned_type: SQL_UNSIGNED SQL_SHORT */ #line 18451 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } #line 65150 "preproc.c" break; case 3400: /* unsigned_type: SQL_UNSIGNED SQL_SHORT INT_P */ #line 18452 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } #line 65156 "preproc.c" break; case 3401: /* unsigned_type: SQL_UNSIGNED */ #line 18453 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } #line 65162 "preproc.c" break; case 3402: /* unsigned_type: SQL_UNSIGNED INT_P */ #line 18454 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } #line 65168 "preproc.c" break; case 3403: /* unsigned_type: SQL_UNSIGNED SQL_LONG */ #line 18455 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } #line 65174 "preproc.c" break; case 3404: /* unsigned_type: SQL_UNSIGNED SQL_LONG INT_P */ #line 18456 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } #line 65180 "preproc.c" break; case 3405: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG */ #line 18457 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } #line 65186 "preproc.c" break; case 3406: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG INT_P */ #line 18458 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } #line 65192 "preproc.c" break; case 3407: /* unsigned_type: SQL_UNSIGNED CHAR_P */ #line 18459 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_char; } #line 65198 "preproc.c" break; case 3408: /* signed_type: SQL_SHORT */ #line 18462 "preproc.y" { (yyval.type_enum) = ECPGt_short; } #line 65204 "preproc.c" break; case 3409: /* signed_type: SQL_SHORT INT_P */ #line 18463 "preproc.y" { (yyval.type_enum) = ECPGt_short; } #line 65210 "preproc.c" break; case 3410: /* signed_type: INT_P */ #line 18464 "preproc.y" { (yyval.type_enum) = ECPGt_int; } #line 65216 "preproc.c" break; case 3411: /* signed_type: SQL_LONG */ #line 18465 "preproc.y" { (yyval.type_enum) = ECPGt_long; } #line 65222 "preproc.c" break; case 3412: /* signed_type: SQL_LONG INT_P */ #line 18466 "preproc.y" { (yyval.type_enum) = ECPGt_long; } #line 65228 "preproc.c" break; case 3413: /* signed_type: SQL_LONG SQL_LONG */ #line 18467 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } #line 65234 "preproc.c" break; case 3414: /* signed_type: SQL_LONG SQL_LONG INT_P */ #line 18468 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } #line 65240 "preproc.c" break; case 3415: /* signed_type: SQL_BOOL */ #line 18469 "preproc.y" { (yyval.type_enum) = ECPGt_bool; } #line 65246 "preproc.c" break; case 3416: /* signed_type: CHAR_P */ #line 18470 "preproc.y" { (yyval.type_enum) = ECPGt_char; } #line 65252 "preproc.c" break; case 3417: /* signed_type: DOUBLE_P */ #line 18471 "preproc.y" { (yyval.type_enum) = ECPGt_double; } #line 65258 "preproc.c" break; case 3420: /* variable_list: variable */ #line 18479 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65264 "preproc.c" break; case 3421: /* variable_list: variable_list ',' variable */ #line 18481 "preproc.y" { if (actual_type[struct_level].type_enum == ECPGt_varchar || actual_type[struct_level].type_enum == ECPGt_bytea) (yyval.str) = cat_str(4, (yyvsp[-2].str), mm_strdup(";"), mm_strdup(actual_type[struct_level].type_storage), (yyvsp[0].str)); else (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 65275 "preproc.c" break; case 3422: /* variable: opt_pointer ECPGColLabel opt_array_bounds opt_bit_field opt_initializer */ #line 18490 "preproc.y" { struct ECPGtype * type; char *dimension = (yyvsp[-2].index).index1; /* dimension of array */ char *length = (yyvsp[-2].index).index2; /* length of string */ char *dim_str; char *vcn; int *varlen_type_counter; char *struct_name; adjust_array(actual_type[struct_level].type_enum, &dimension, &length, actual_type[struct_level].type_dimension, actual_type[struct_level].type_index, strlen((yyvsp[-4].str)), false); switch (actual_type[struct_level].type_enum) { case ECPGt_struct: case ECPGt_union: if (atoi(dimension) < 0) type = ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum, actual_type[struct_level].type_str, actual_type[struct_level].type_sizeof); else type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum, actual_type[struct_level].type_str, actual_type[struct_level].type_sizeof), dimension); (yyval.str) = cat_str(5, (yyvsp[-4].str), mm_strdup((yyvsp[-3].str)), (yyvsp[-2].index).str, (yyvsp[-1].str), (yyvsp[0].str)); break; case ECPGt_varchar: case ECPGt_bytea: if (actual_type[struct_level].type_enum == ECPGt_varchar) { varlen_type_counter = &varchar_counter; struct_name = " struct varchar_"; } else { varlen_type_counter = &bytea_counter; struct_name = " struct bytea_"; } if (atoi(dimension) < 0) type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length, *varlen_type_counter); else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length, *varlen_type_counter), dimension); if (strcmp(dimension, "0") == 0 || abs(atoi(dimension)) == 1) dim_str=mm_strdup(""); else dim_str=cat_str(3, mm_strdup("["), mm_strdup(dimension), mm_strdup("]")); /* cannot check for atoi <= 0 because a defined constant will yield 0 here as well */ if (atoi(length) < 0 || strcmp(length, "0") == 0) mmerror(PARSE_ERROR, ET_ERROR, "pointers to varchar are not implemented"); /* make sure varchar struct name is unique by adding a unique counter to its definition */ vcn = (char *) mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); sprintf(vcn, "%d", *varlen_type_counter); if (strcmp(dimension, "0") == 0) (yyval.str) = cat_str(7, make2_str(mm_strdup(struct_name), vcn), mm_strdup(" { int len; char arr["), mm_strdup(length), mm_strdup("]; } *"), mm_strdup((yyvsp[-3].str)), (yyvsp[-1].str), (yyvsp[0].str)); else (yyval.str) = cat_str(8, make2_str(mm_strdup(struct_name), vcn), mm_strdup(" { int len; char arr["), mm_strdup(length), mm_strdup("]; } "), mm_strdup((yyvsp[-3].str)), dim_str, (yyvsp[-1].str), (yyvsp[0].str)); (*varlen_type_counter)++; break; case ECPGt_char: case ECPGt_unsigned_char: case ECPGt_string: if (atoi(dimension) == -1) { int i = strlen((yyvsp[0].str)); if (atoi(length) == -1 && i > 0) /* char [] = "string" */ { /* if we have an initializer but no string size set, let's use the initializer's length */ free(length); length = mm_alloc(i+sizeof("sizeof()")); sprintf(length, "sizeof(%s)", (yyvsp[0].str)+2); } type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length, 0); } else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length, 0), dimension); (yyval.str) = cat_str(5, (yyvsp[-4].str), mm_strdup((yyvsp[-3].str)), (yyvsp[-2].index).str, (yyvsp[-1].str), (yyvsp[0].str)); break; default: if (atoi(dimension) < 0) type = ECPGmake_simple_type(actual_type[struct_level].type_enum, mm_strdup("1"), 0); else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, mm_strdup("1"), 0), dimension); (yyval.str) = cat_str(5, (yyvsp[-4].str), mm_strdup((yyvsp[-3].str)), (yyvsp[-2].index).str, (yyvsp[-1].str), (yyvsp[0].str)); break; } if (struct_level == 0) new_variable((yyvsp[-3].str), type, braces_open); else ECPGmake_struct_member((yyvsp[-3].str), type, &(struct_member_list[struct_level - 1])); free((yyvsp[-3].str)); } #line 65376 "preproc.c" break; case 3423: /* opt_initializer: %empty */ #line 18589 "preproc.y" { (yyval.str) = EMPTY; } #line 65382 "preproc.c" break; case 3424: /* opt_initializer: '=' c_term */ #line 18591 "preproc.y" { initializer = 1; (yyval.str) = cat2_str(mm_strdup("="), (yyvsp[0].str)); } #line 65391 "preproc.c" break; case 3425: /* opt_pointer: %empty */ #line 18597 "preproc.y" { (yyval.str) = EMPTY; } #line 65397 "preproc.c" break; case 3426: /* opt_pointer: '*' */ #line 18598 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 65403 "preproc.c" break; case 3427: /* opt_pointer: '*' '*' */ #line 18599 "preproc.y" { (yyval.str) = mm_strdup("**"); } #line 65409 "preproc.c" break; case 3428: /* ECPGDeclare: DECLARE STATEMENT ecpg_ident */ #line 18606 "preproc.y" { /* this is only supported for compatibility */ (yyval.str) = cat_str(3, mm_strdup("/* declare statement"), (yyvsp[0].str), mm_strdup("*/")); } #line 65418 "preproc.c" break; case 3429: /* ECPGDisconnect: SQL_DISCONNECT dis_name */ #line 18614 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65424 "preproc.c" break; case 3430: /* dis_name: connection_object */ #line 18617 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65430 "preproc.c" break; case 3431: /* dis_name: CURRENT_P */ #line 18618 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } #line 65436 "preproc.c" break; case 3432: /* dis_name: ALL */ #line 18619 "preproc.y" { (yyval.str) = mm_strdup("\"ALL\""); } #line 65442 "preproc.c" break; case 3433: /* dis_name: %empty */ #line 18620 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } #line 65448 "preproc.c" break; case 3434: /* connection_object: name */ #line 18623 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 65454 "preproc.c" break; case 3435: /* connection_object: DEFAULT */ #line 18624 "preproc.y" { (yyval.str) = mm_strdup("\"DEFAULT\""); } #line 65460 "preproc.c" break; case 3436: /* connection_object: char_variable */ #line 18625 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65466 "preproc.c" break; case 3437: /* execstring: char_variable */ #line 18629 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65472 "preproc.c" break; case 3438: /* execstring: CSTRING */ #line 18631 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 65478 "preproc.c" break; case 3439: /* ECPGFree: SQL_FREE cursor_name */ #line 18638 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65484 "preproc.c" break; case 3440: /* ECPGFree: SQL_FREE ALL */ #line 18639 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 65490 "preproc.c" break; case 3441: /* ECPGOpen: SQL_OPEN cursor_name opt_ecpg_using */ #line 18646 "preproc.y" { if ((yyvsp[-1].str)[0] == ':') remove_variable_from_list(&argsinsert, find_variable((yyvsp[-1].str) + 1)); (yyval.str) = (yyvsp[-1].str); } #line 65500 "preproc.c" break; case 3442: /* opt_ecpg_using: %empty */ #line 18653 "preproc.y" { (yyval.str) = EMPTY; } #line 65506 "preproc.c" break; case 3443: /* opt_ecpg_using: ecpg_using */ #line 18654 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65512 "preproc.c" break; case 3444: /* ecpg_using: USING using_list */ #line 18657 "preproc.y" { (yyval.str) = EMPTY; } #line 65518 "preproc.c" break; case 3445: /* ecpg_using: using_descriptor */ #line 18658 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65524 "preproc.c" break; case 3446: /* using_descriptor: USING SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18662 "preproc.y" { add_variable_to_head(&argsinsert, descriptor_variable((yyvsp[0].str),0), &no_indicator); (yyval.str) = EMPTY; } #line 65533 "preproc.c" break; case 3447: /* using_descriptor: USING SQL_DESCRIPTOR name */ #line 18667 "preproc.y" { add_variable_to_head(&argsinsert, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 65542 "preproc.c" break; case 3448: /* into_descriptor: INTO SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18674 "preproc.y" { add_variable_to_head(&argsresult, descriptor_variable((yyvsp[0].str),1), &no_indicator); (yyval.str) = EMPTY; } #line 65551 "preproc.c" break; case 3449: /* into_descriptor: INTO SQL_DESCRIPTOR name */ #line 18679 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 65560 "preproc.c" break; case 3450: /* into_sqlda: INTO name */ #line 18686 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } #line 65569 "preproc.c" break; case 3453: /* UsingValue: UsingConst */ #line 18695 "preproc.y" { char *length = mm_alloc(32); sprintf(length, "%zu", strlen((yyvsp[0].str))); add_variable_to_head(&argsinsert, new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0), &no_indicator); } #line 65580 "preproc.c" break; case 3454: /* UsingValue: civar */ #line 18701 "preproc.y" { (yyval.str) = EMPTY; } #line 65586 "preproc.c" break; case 3455: /* UsingValue: civarind */ #line 18702 "preproc.y" { (yyval.str) = EMPTY; } #line 65592 "preproc.c" break; case 3456: /* UsingConst: Iconst */ #line 18705 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65598 "preproc.c" break; case 3457: /* UsingConst: '+' Iconst */ #line 18706 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } #line 65604 "preproc.c" break; case 3458: /* UsingConst: '-' Iconst */ #line 18707 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } #line 65610 "preproc.c" break; case 3459: /* UsingConst: ecpg_fconst */ #line 18708 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65616 "preproc.c" break; case 3460: /* UsingConst: '+' ecpg_fconst */ #line 18709 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } #line 65622 "preproc.c" break; case 3461: /* UsingConst: '-' ecpg_fconst */ #line 18710 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } #line 65628 "preproc.c" break; case 3462: /* UsingConst: ecpg_sconst */ #line 18711 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65634 "preproc.c" break; case 3463: /* UsingConst: ecpg_bconst */ #line 18712 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65640 "preproc.c" break; case 3464: /* UsingConst: ecpg_xconst */ #line 18713 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65646 "preproc.c" break; case 3465: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name using_descriptor */ #line 18720 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 65655 "preproc.c" break; case 3466: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name using_descriptor */ #line 18725 "preproc.y" { struct variable *var; var = argsinsert->variable; remove_variable_from_list(&argsinsert, var); add_variable_to_head(&argsresult, var, &no_indicator); (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 65669 "preproc.c" break; case 3467: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_descriptor */ #line 18735 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 65678 "preproc.c" break; case 3468: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name into_sqlda */ #line 18740 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 65687 "preproc.c" break; case 3469: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_sqlda */ #line 18745 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } #line 65696 "preproc.c" break; case 3470: /* opt_output: SQL_OUTPUT */ #line 18751 "preproc.y" { (yyval.str) = mm_strdup("output"); } #line 65702 "preproc.c" break; case 3471: /* opt_output: %empty */ #line 18752 "preproc.y" { (yyval.str) = EMPTY; } #line 65708 "preproc.c" break; case 3472: /* ECPGAllocateDescr: SQL_ALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18765 "preproc.y" { add_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } #line 65717 "preproc.c" break; case 3473: /* ECPGDeallocateDescr: DEALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ #line 18776 "preproc.y" { drop_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } #line 65726 "preproc.c" break; case 3474: /* ECPGGetDescriptorHeader: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar ECPGGetDescHeaderItems */ #line 18787 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } #line 65732 "preproc.c" break; case 3477: /* ECPGGetDescHeaderItem: cvariable '=' desc_header_item */ #line 18795 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } #line 65738 "preproc.c" break; case 3478: /* ECPGSetDescriptorHeader: SET SQL_DESCRIPTOR quoted_ident_stringvar ECPGSetDescHeaderItems */ #line 18800 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } #line 65744 "preproc.c" break; case 3481: /* ECPGSetDescHeaderItem: desc_header_item '=' IntConstVar */ #line 18808 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } #line 65752 "preproc.c" break; case 3482: /* IntConstVar: Iconst */ #line 18814 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); sprintf(length, "%zu", strlen((yyvsp[0].str))); new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = (yyvsp[0].str); } #line 65764 "preproc.c" break; case 3483: /* IntConstVar: cvariable */ #line 18822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65772 "preproc.c" break; case 3484: /* desc_header_item: SQL_COUNT */ #line 18827 "preproc.y" { (yyval.dtype_enum) = ECPGd_count; } #line 65778 "preproc.c" break; case 3485: /* ECPGGetDescriptor: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGGetDescItems */ #line 18835 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } #line 65784 "preproc.c" break; case 3488: /* ECPGGetDescItem: cvariable '=' descriptor_item */ #line 18842 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } #line 65790 "preproc.c" break; case 3489: /* ECPGSetDescriptor: SET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGSetDescItems */ #line 18846 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } #line 65796 "preproc.c" break; case 3492: /* ECPGSetDescItem: descriptor_item '=' AllConstVar */ #line 18854 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } #line 65804 "preproc.c" break; case 3493: /* AllConstVar: ecpg_fconst */ #line 18860 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); sprintf(length, "%zu", strlen((yyvsp[0].str))); new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = (yyvsp[0].str); } #line 65816 "preproc.c" break; case 3494: /* AllConstVar: IntConstVar */ #line 18869 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65824 "preproc.c" break; case 3495: /* AllConstVar: '-' ecpg_fconst */ #line 18874 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = cat2_str(mm_strdup("-"), (yyvsp[0].str)); sprintf(length, "%zu", strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } #line 65837 "preproc.c" break; case 3496: /* AllConstVar: '-' Iconst */ #line 18884 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = cat2_str(mm_strdup("-"), (yyvsp[0].str)); sprintf(length, "%zu", strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } #line 65850 "preproc.c" break; case 3497: /* AllConstVar: ecpg_sconst */ #line 18894 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = (yyvsp[0].str) + 1; var[strlen(var) - 1] = '\0'; sprintf(length, "%zu", strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } #line 65864 "preproc.c" break; case 3498: /* descriptor_item: SQL_CARDINALITY */ #line 18905 "preproc.y" { (yyval.dtype_enum) = ECPGd_cardinality; } #line 65870 "preproc.c" break; case 3499: /* descriptor_item: DATA_P */ #line 18906 "preproc.y" { (yyval.dtype_enum) = ECPGd_data; } #line 65876 "preproc.c" break; case 3500: /* descriptor_item: SQL_DATETIME_INTERVAL_CODE */ #line 18907 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_code; } #line 65882 "preproc.c" break; case 3501: /* descriptor_item: SQL_DATETIME_INTERVAL_PRECISION */ #line 18908 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_precision; } #line 65888 "preproc.c" break; case 3502: /* descriptor_item: SQL_INDICATOR */ #line 18909 "preproc.y" { (yyval.dtype_enum) = ECPGd_indicator; } #line 65894 "preproc.c" break; case 3503: /* descriptor_item: SQL_KEY_MEMBER */ #line 18910 "preproc.y" { (yyval.dtype_enum) = ECPGd_key_member; } #line 65900 "preproc.c" break; case 3504: /* descriptor_item: SQL_LENGTH */ #line 18911 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } #line 65906 "preproc.c" break; case 3505: /* descriptor_item: NAME_P */ #line 18912 "preproc.y" { (yyval.dtype_enum) = ECPGd_name; } #line 65912 "preproc.c" break; case 3506: /* descriptor_item: SQL_NULLABLE */ #line 18913 "preproc.y" { (yyval.dtype_enum) = ECPGd_nullable; } #line 65918 "preproc.c" break; case 3507: /* descriptor_item: SQL_OCTET_LENGTH */ #line 18914 "preproc.y" { (yyval.dtype_enum) = ECPGd_octet; } #line 65924 "preproc.c" break; case 3508: /* descriptor_item: PRECISION */ #line 18915 "preproc.y" { (yyval.dtype_enum) = ECPGd_precision; } #line 65930 "preproc.c" break; case 3509: /* descriptor_item: SQL_RETURNED_LENGTH */ #line 18916 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } #line 65936 "preproc.c" break; case 3510: /* descriptor_item: SQL_RETURNED_OCTET_LENGTH */ #line 18917 "preproc.y" { (yyval.dtype_enum) = ECPGd_ret_octet; } #line 65942 "preproc.c" break; case 3511: /* descriptor_item: SQL_SCALE */ #line 18918 "preproc.y" { (yyval.dtype_enum) = ECPGd_scale; } #line 65948 "preproc.c" break; case 3512: /* descriptor_item: TYPE_P */ #line 18919 "preproc.y" { (yyval.dtype_enum) = ECPGd_type; } #line 65954 "preproc.c" break; case 3513: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT '=' on_off */ #line 18926 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65960 "preproc.c" break; case 3514: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT TO on_off */ #line 18927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65966 "preproc.c" break; case 3515: /* on_off: ON */ #line 18930 "preproc.y" { (yyval.str) = mm_strdup("on"); } #line 65972 "preproc.c" break; case 3516: /* on_off: OFF */ #line 18931 "preproc.y" { (yyval.str) = mm_strdup("off"); } #line 65978 "preproc.c" break; case 3517: /* ECPGSetConnection: SET CONNECTION TO connection_object */ #line 18938 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65984 "preproc.c" break; case 3518: /* ECPGSetConnection: SET CONNECTION '=' connection_object */ #line 18939 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65990 "preproc.c" break; case 3519: /* ECPGSetConnection: SET CONNECTION connection_object */ #line 18940 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 65996 "preproc.c" break; case 3520: /* $@9: %empty */ #line 18947 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 66006 "preproc.c" break; case 3521: /* ECPGTypedef: TYPE_P $@9 ECPGColLabel IS var_type opt_array_bounds opt_reference */ #line 18953 "preproc.y" { add_typedef((yyvsp[-4].str), (yyvsp[-1].index).index1, (yyvsp[-1].index).index2, (yyvsp[-2].type).type_enum, (yyvsp[-2].type).type_dimension, (yyvsp[-2].type).type_index, initializer, *(yyvsp[0].str) ? 1 : 0); if (auto_create_c == false) (yyval.str) = cat_str(7, mm_strdup("/* exec sql type"), mm_strdup((yyvsp[-4].str)), mm_strdup("is"), mm_strdup((yyvsp[-2].type).type_str), mm_strdup((yyvsp[-1].index).str), (yyvsp[0].str), mm_strdup("*/")); else (yyval.str) = cat_str(6, mm_strdup("typedef "), mm_strdup((yyvsp[-2].type).type_str), *(yyvsp[0].str)?mm_strdup("*"):mm_strdup(""), mm_strdup((yyvsp[-4].str)), mm_strdup((yyvsp[-1].index).str), mm_strdup(";")); } #line 66019 "preproc.c" break; case 3522: /* opt_reference: SQL_REFERENCE */ #line 18963 "preproc.y" { (yyval.str) = mm_strdup("reference"); } #line 66025 "preproc.c" break; case 3523: /* opt_reference: %empty */ #line 18964 "preproc.y" { (yyval.str) = EMPTY; } #line 66031 "preproc.c" break; case 3524: /* $@10: %empty */ #line 18971 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } #line 66041 "preproc.c" break; case 3525: /* ECPGVar: SQL_VAR $@10 ColLabel IS var_type opt_array_bounds opt_reference */ #line 18977 "preproc.y" { struct variable *p = find_variable((yyvsp[-4].str)); char *dimension = (yyvsp[-1].index).index1; char *length = (yyvsp[-1].index).index2; struct ECPGtype * type; if (((yyvsp[-2].type).type_enum == ECPGt_struct || (yyvsp[-2].type).type_enum == ECPGt_union) && initializer == 1) mmerror(PARSE_ERROR, ET_ERROR, "initializer not allowed in EXEC SQL VAR command"); else { adjust_array((yyvsp[-2].type).type_enum, &dimension, &length, (yyvsp[-2].type).type_dimension, (yyvsp[-2].type).type_index, *(yyvsp[0].str)?1:0, false); switch ((yyvsp[-2].type).type_enum) { case ECPGt_struct: case ECPGt_union: if (atoi(dimension) < 0) type = ECPGmake_struct_type(struct_member_list[struct_level], (yyvsp[-2].type).type_enum, (yyvsp[-2].type).type_str, (yyvsp[-2].type).type_sizeof); else type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], (yyvsp[-2].type).type_enum, (yyvsp[-2].type).type_str, (yyvsp[-2].type).type_sizeof), dimension); break; case ECPGt_varchar: case ECPGt_bytea: if (atoi(dimension) == -1) type = ECPGmake_simple_type((yyvsp[-2].type).type_enum, length, 0); else type = ECPGmake_array_type(ECPGmake_simple_type((yyvsp[-2].type).type_enum, length, 0), dimension); break; case ECPGt_char: case ECPGt_unsigned_char: case ECPGt_string: if (atoi(dimension) == -1) type = ECPGmake_simple_type((yyvsp[-2].type).type_enum, length, 0); else type = ECPGmake_array_type(ECPGmake_simple_type((yyvsp[-2].type).type_enum, length, 0), dimension); break; default: if (atoi(length) >= 0) mmerror(PARSE_ERROR, ET_ERROR, "multidimensional arrays for simple data types are not supported"); if (atoi(dimension) < 0) type = ECPGmake_simple_type((yyvsp[-2].type).type_enum, mm_strdup("1"), 0); else type = ECPGmake_array_type(ECPGmake_simple_type((yyvsp[-2].type).type_enum, mm_strdup("1"), 0), dimension); break; } ECPGfree_type(p->type); p->type = type; } (yyval.str) = cat_str(7, mm_strdup("/* exec sql var"), mm_strdup((yyvsp[-4].str)), mm_strdup("is"), mm_strdup((yyvsp[-2].type).type_str), mm_strdup((yyvsp[-1].index).str), (yyvsp[0].str), mm_strdup("*/")); } #line 66104 "preproc.c" break; case 3526: /* ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action */ #line 19042 "preproc.y" { when_error.code = (yyvsp[0].action).code; when_error.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever sqlerror "), (yyvsp[0].action).str, mm_strdup("; */")); } #line 66114 "preproc.c" break; case 3527: /* ECPGWhenever: SQL_WHENEVER NOT SQL_FOUND action */ #line 19048 "preproc.y" { when_nf.code = (yyvsp[0].action).code; when_nf.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever not found "), (yyvsp[0].action).str, mm_strdup("; */")); } #line 66124 "preproc.c" break; case 3528: /* ECPGWhenever: SQL_WHENEVER SQL_SQLWARNING action */ #line 19054 "preproc.y" { when_warn.code = (yyvsp[0].action).code; when_warn.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever sql_warning "), (yyvsp[0].action).str, mm_strdup("; */")); } #line 66134 "preproc.c" break; case 3529: /* action: CONTINUE_P */ #line 19062 "preproc.y" { (yyval.action).code = W_NOTHING; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } #line 66144 "preproc.c" break; case 3530: /* action: SQL_SQLPRINT */ #line 19068 "preproc.y" { (yyval.action).code = W_SQLPRINT; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("sqlprint"); } #line 66154 "preproc.c" break; case 3531: /* action: SQL_STOP */ #line 19074 "preproc.y" { (yyval.action).code = W_STOP; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("stop"); } #line 66164 "preproc.c" break; case 3532: /* action: SQL_GOTO name */ #line 19080 "preproc.y" { (yyval.action).code = W_GOTO; (yyval.action).command = mm_strdup((yyvsp[0].str)); (yyval.action).str = cat2_str(mm_strdup("goto "), (yyvsp[0].str)); } #line 66174 "preproc.c" break; case 3533: /* action: SQL_GO TO name */ #line 19086 "preproc.y" { (yyval.action).code = W_GOTO; (yyval.action).command = mm_strdup((yyvsp[0].str)); (yyval.action).str = cat2_str(mm_strdup("goto "), (yyvsp[0].str)); } #line 66184 "preproc.c" break; case 3534: /* action: DO name '(' c_args ')' */ #line 19092 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); (yyval.action).str = cat2_str(mm_strdup("do"), mm_strdup((yyval.action).command)); } #line 66194 "preproc.c" break; case 3535: /* action: DO SQL_BREAK */ #line 19098 "preproc.y" { (yyval.action).code = W_BREAK; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("break"); } #line 66204 "preproc.c" break; case 3536: /* action: DO CONTINUE_P */ #line 19104 "preproc.y" { (yyval.action).code = W_CONTINUE; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } #line 66214 "preproc.c" break; case 3537: /* action: CALL name '(' c_args ')' */ #line 19110 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); (yyval.action).str = cat2_str(mm_strdup("call"), mm_strdup((yyval.action).command)); } #line 66224 "preproc.c" break; case 3538: /* action: CALL name */ #line 19116 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat2_str((yyvsp[0].str), mm_strdup("()")); (yyval.action).str = cat2_str(mm_strdup("call"), mm_strdup((yyval.action).command)); } #line 66234 "preproc.c" break; case 3539: /* ECPGKeywords: ECPGKeywords_vanames */ #line 19126 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66240 "preproc.c" break; case 3540: /* ECPGKeywords: ECPGKeywords_rest */ #line 19127 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66246 "preproc.c" break; case 3541: /* ECPGKeywords_vanames: SQL_BREAK */ #line 19130 "preproc.y" { (yyval.str) = mm_strdup("break"); } #line 66252 "preproc.c" break; case 3542: /* ECPGKeywords_vanames: SQL_CARDINALITY */ #line 19131 "preproc.y" { (yyval.str) = mm_strdup("cardinality"); } #line 66258 "preproc.c" break; case 3543: /* ECPGKeywords_vanames: SQL_COUNT */ #line 19132 "preproc.y" { (yyval.str) = mm_strdup("count"); } #line 66264 "preproc.c" break; case 3544: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_CODE */ #line 19133 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_code"); } #line 66270 "preproc.c" break; case 3545: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_PRECISION */ #line 19134 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_precision"); } #line 66276 "preproc.c" break; case 3546: /* ECPGKeywords_vanames: SQL_FOUND */ #line 19135 "preproc.y" { (yyval.str) = mm_strdup("found"); } #line 66282 "preproc.c" break; case 3547: /* ECPGKeywords_vanames: SQL_GO */ #line 19136 "preproc.y" { (yyval.str) = mm_strdup("go"); } #line 66288 "preproc.c" break; case 3548: /* ECPGKeywords_vanames: SQL_GOTO */ #line 19137 "preproc.y" { (yyval.str) = mm_strdup("goto"); } #line 66294 "preproc.c" break; case 3549: /* ECPGKeywords_vanames: SQL_IDENTIFIED */ #line 19138 "preproc.y" { (yyval.str) = mm_strdup("identified"); } #line 66300 "preproc.c" break; case 3550: /* ECPGKeywords_vanames: SQL_INDICATOR */ #line 19139 "preproc.y" { (yyval.str) = mm_strdup("indicator"); } #line 66306 "preproc.c" break; case 3551: /* ECPGKeywords_vanames: SQL_KEY_MEMBER */ #line 19140 "preproc.y" { (yyval.str) = mm_strdup("key_member"); } #line 66312 "preproc.c" break; case 3552: /* ECPGKeywords_vanames: SQL_LENGTH */ #line 19141 "preproc.y" { (yyval.str) = mm_strdup("length"); } #line 66318 "preproc.c" break; case 3553: /* ECPGKeywords_vanames: SQL_NULLABLE */ #line 19142 "preproc.y" { (yyval.str) = mm_strdup("nullable"); } #line 66324 "preproc.c" break; case 3554: /* ECPGKeywords_vanames: SQL_OCTET_LENGTH */ #line 19143 "preproc.y" { (yyval.str) = mm_strdup("octet_length"); } #line 66330 "preproc.c" break; case 3555: /* ECPGKeywords_vanames: SQL_RETURNED_LENGTH */ #line 19144 "preproc.y" { (yyval.str) = mm_strdup("returned_length"); } #line 66336 "preproc.c" break; case 3556: /* ECPGKeywords_vanames: SQL_RETURNED_OCTET_LENGTH */ #line 19145 "preproc.y" { (yyval.str) = mm_strdup("returned_octet_length"); } #line 66342 "preproc.c" break; case 3557: /* ECPGKeywords_vanames: SQL_SCALE */ #line 19146 "preproc.y" { (yyval.str) = mm_strdup("scale"); } #line 66348 "preproc.c" break; case 3558: /* ECPGKeywords_vanames: SQL_SECTION */ #line 19147 "preproc.y" { (yyval.str) = mm_strdup("section"); } #line 66354 "preproc.c" break; case 3559: /* ECPGKeywords_vanames: SQL_SQLERROR */ #line 19148 "preproc.y" { (yyval.str) = mm_strdup("sqlerror"); } #line 66360 "preproc.c" break; case 3560: /* ECPGKeywords_vanames: SQL_SQLPRINT */ #line 19149 "preproc.y" { (yyval.str) = mm_strdup("sqlprint"); } #line 66366 "preproc.c" break; case 3561: /* ECPGKeywords_vanames: SQL_SQLWARNING */ #line 19150 "preproc.y" { (yyval.str) = mm_strdup("sqlwarning"); } #line 66372 "preproc.c" break; case 3562: /* ECPGKeywords_vanames: SQL_STOP */ #line 19151 "preproc.y" { (yyval.str) = mm_strdup("stop"); } #line 66378 "preproc.c" break; case 3563: /* ECPGKeywords_rest: SQL_CONNECT */ #line 19154 "preproc.y" { (yyval.str) = mm_strdup("connect"); } #line 66384 "preproc.c" break; case 3564: /* ECPGKeywords_rest: SQL_DESCRIBE */ #line 19155 "preproc.y" { (yyval.str) = mm_strdup("describe"); } #line 66390 "preproc.c" break; case 3565: /* ECPGKeywords_rest: SQL_DISCONNECT */ #line 19156 "preproc.y" { (yyval.str) = mm_strdup("disconnect"); } #line 66396 "preproc.c" break; case 3566: /* ECPGKeywords_rest: SQL_OPEN */ #line 19157 "preproc.y" { (yyval.str) = mm_strdup("open"); } #line 66402 "preproc.c" break; case 3567: /* ECPGKeywords_rest: SQL_VAR */ #line 19158 "preproc.y" { (yyval.str) = mm_strdup("var"); } #line 66408 "preproc.c" break; case 3568: /* ECPGKeywords_rest: SQL_WHENEVER */ #line 19159 "preproc.y" { (yyval.str) = mm_strdup("whenever"); } #line 66414 "preproc.c" break; case 3569: /* ECPGTypeName: SQL_BOOL */ #line 19163 "preproc.y" { (yyval.str) = mm_strdup("bool"); } #line 66420 "preproc.c" break; case 3570: /* ECPGTypeName: SQL_LONG */ #line 19164 "preproc.y" { (yyval.str) = mm_strdup("long"); } #line 66426 "preproc.c" break; case 3571: /* ECPGTypeName: SQL_OUTPUT */ #line 19165 "preproc.y" { (yyval.str) = mm_strdup("output"); } #line 66432 "preproc.c" break; case 3572: /* ECPGTypeName: SQL_SHORT */ #line 19166 "preproc.y" { (yyval.str) = mm_strdup("short"); } #line 66438 "preproc.c" break; case 3573: /* ECPGTypeName: SQL_STRUCT */ #line 19167 "preproc.y" { (yyval.str) = mm_strdup("struct"); } #line 66444 "preproc.c" break; case 3574: /* ECPGTypeName: SQL_SIGNED */ #line 19168 "preproc.y" { (yyval.str) = mm_strdup("signed"); } #line 66450 "preproc.c" break; case 3575: /* ECPGTypeName: SQL_UNSIGNED */ #line 19169 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } #line 66456 "preproc.c" break; case 3576: /* symbol: ColLabel */ #line 19172 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66462 "preproc.c" break; case 3577: /* ECPGColId: ecpg_ident */ #line 19175 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66468 "preproc.c" break; case 3578: /* ECPGColId: unreserved_keyword */ #line 19176 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66474 "preproc.c" break; case 3579: /* ECPGColId: col_name_keyword */ #line 19177 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66480 "preproc.c" break; case 3580: /* ECPGColId: ECPGunreserved_interval */ #line 19178 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66486 "preproc.c" break; case 3581: /* ECPGColId: ECPGKeywords */ #line 19179 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66492 "preproc.c" break; case 3582: /* ECPGColId: ECPGCKeywords */ #line 19180 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66498 "preproc.c" break; case 3583: /* ECPGColId: CHAR_P */ #line 19181 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 66504 "preproc.c" break; case 3584: /* ECPGColId: VALUES */ #line 19182 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 66510 "preproc.c" break; case 3585: /* ColId: ecpg_ident */ #line 19195 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66516 "preproc.c" break; case 3586: /* ColId: all_unreserved_keyword */ #line 19196 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66522 "preproc.c" break; case 3587: /* ColId: col_name_keyword */ #line 19197 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66528 "preproc.c" break; case 3588: /* ColId: ECPGKeywords */ #line 19198 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66534 "preproc.c" break; case 3589: /* ColId: ECPGCKeywords */ #line 19199 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66540 "preproc.c" break; case 3590: /* ColId: CHAR_P */ #line 19200 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 66546 "preproc.c" break; case 3591: /* ColId: VALUES */ #line 19201 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 66552 "preproc.c" break; case 3592: /* type_function_name: ecpg_ident */ #line 19206 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66558 "preproc.c" break; case 3593: /* type_function_name: all_unreserved_keyword */ #line 19207 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66564 "preproc.c" break; case 3594: /* type_function_name: type_func_name_keyword */ #line 19208 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66570 "preproc.c" break; case 3595: /* type_function_name: ECPGKeywords */ #line 19209 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66576 "preproc.c" break; case 3596: /* type_function_name: ECPGCKeywords */ #line 19210 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66582 "preproc.c" break; case 3597: /* type_function_name: ECPGTypeName */ #line 19211 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66588 "preproc.c" break; case 3598: /* ColLabel: ECPGColLabel */ #line 19217 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66594 "preproc.c" break; case 3599: /* ColLabel: ECPGTypeName */ #line 19218 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66600 "preproc.c" break; case 3600: /* ColLabel: CHAR_P */ #line 19219 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 66606 "preproc.c" break; case 3601: /* ColLabel: CURRENT_P */ #line 19220 "preproc.y" { (yyval.str) = mm_strdup("current"); } #line 66612 "preproc.c" break; case 3602: /* ColLabel: INPUT_P */ #line 19221 "preproc.y" { (yyval.str) = mm_strdup("input"); } #line 66618 "preproc.c" break; case 3603: /* ColLabel: INT_P */ #line 19222 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 66624 "preproc.c" break; case 3604: /* ColLabel: TO */ #line 19223 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 66630 "preproc.c" break; case 3605: /* ColLabel: UNION */ #line 19224 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 66636 "preproc.c" break; case 3606: /* ColLabel: VALUES */ #line 19225 "preproc.y" { (yyval.str) = mm_strdup("values"); } #line 66642 "preproc.c" break; case 3607: /* ColLabel: ECPGCKeywords */ #line 19226 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66648 "preproc.c" break; case 3608: /* ColLabel: ECPGunreserved_interval */ #line 19227 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66654 "preproc.c" break; case 3609: /* ECPGColLabel: ecpg_ident */ #line 19230 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66660 "preproc.c" break; case 3610: /* ECPGColLabel: unreserved_keyword */ #line 19231 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66666 "preproc.c" break; case 3611: /* ECPGColLabel: col_name_keyword */ #line 19232 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66672 "preproc.c" break; case 3612: /* ECPGColLabel: type_func_name_keyword */ #line 19233 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66678 "preproc.c" break; case 3613: /* ECPGColLabel: reserved_keyword */ #line 19234 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66684 "preproc.c" break; case 3614: /* ECPGColLabel: ECPGKeywords_vanames */ #line 19235 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66690 "preproc.c" break; case 3615: /* ECPGColLabel: ECPGKeywords_rest */ #line 19236 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66696 "preproc.c" break; case 3616: /* ECPGColLabel: CONNECTION */ #line 19237 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 66702 "preproc.c" break; case 3617: /* ECPGCKeywords: S_AUTO */ #line 19240 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 66708 "preproc.c" break; case 3618: /* ECPGCKeywords: S_CONST */ #line 19241 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 66714 "preproc.c" break; case 3619: /* ECPGCKeywords: S_EXTERN */ #line 19242 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 66720 "preproc.c" break; case 3620: /* ECPGCKeywords: S_REGISTER */ #line 19243 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 66726 "preproc.c" break; case 3621: /* ECPGCKeywords: S_STATIC */ #line 19244 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 66732 "preproc.c" break; case 3622: /* ECPGCKeywords: S_TYPEDEF */ #line 19245 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } #line 66738 "preproc.c" break; case 3623: /* ECPGCKeywords: S_VOLATILE */ #line 19246 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 66744 "preproc.c" break; case 3624: /* all_unreserved_keyword: unreserved_keyword */ #line 19263 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66750 "preproc.c" break; case 3625: /* all_unreserved_keyword: ECPGunreserved_interval */ #line 19264 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66756 "preproc.c" break; case 3626: /* all_unreserved_keyword: CONNECTION */ #line 19265 "preproc.y" { (yyval.str) = mm_strdup("connection"); } #line 66762 "preproc.c" break; case 3627: /* ECPGunreserved_interval: DAY_P */ #line 19268 "preproc.y" { (yyval.str) = mm_strdup("day"); } #line 66768 "preproc.c" break; case 3628: /* ECPGunreserved_interval: HOUR_P */ #line 19269 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 66774 "preproc.c" break; case 3629: /* ECPGunreserved_interval: MINUTE_P */ #line 19270 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 66780 "preproc.c" break; case 3630: /* ECPGunreserved_interval: MONTH_P */ #line 19271 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 66786 "preproc.c" break; case 3631: /* ECPGunreserved_interval: SECOND_P */ #line 19272 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 66792 "preproc.c" break; case 3632: /* ECPGunreserved_interval: YEAR_P */ #line 19273 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 66798 "preproc.c" break; case 3635: /* ecpgstart: SQL_START */ #line 19280 "preproc.y" { reset_variables(); pacounter = 1; } #line 66807 "preproc.c" break; case 3636: /* c_args: %empty */ #line 19286 "preproc.y" { (yyval.str) = EMPTY; } #line 66813 "preproc.c" break; case 3637: /* c_args: c_list */ #line 19287 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66819 "preproc.c" break; case 3638: /* coutputvariable: cvariable indicator */ #line 19291 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[-1].str)), find_variable((yyvsp[0].str))); } #line 66825 "preproc.c" break; case 3639: /* coutputvariable: cvariable */ #line 19293 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[0].str)), &no_indicator); } #line 66831 "preproc.c" break; case 3640: /* civarind: cvariable indicator */ #line 19298 "preproc.y" { if (find_variable((yyvsp[0].str))->type->type == ECPGt_array) mmerror(PARSE_ERROR, ET_ERROR, "arrays of indicators are not allowed on input"); add_variable_to_head(&argsinsert, find_variable((yyvsp[-1].str)), find_variable((yyvsp[0].str))); (yyval.str) = create_questionmarks((yyvsp[-1].str), false); } #line 66843 "preproc.c" break; case 3641: /* char_civar: char_variable */ #line 19308 "preproc.y" { char *ptr = strstr((yyvsp[0].str), ".arr"); if (ptr) /* varchar, we need the struct name here, not the struct element */ *ptr = '\0'; add_variable_to_head(&argsinsert, find_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = (yyvsp[0].str); } #line 66856 "preproc.c" break; case 3642: /* civar: cvariable */ #line 19319 "preproc.y" { add_variable_to_head(&argsinsert, find_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = create_questionmarks((yyvsp[0].str), false); } #line 66865 "preproc.c" break; case 3643: /* indicator: cvariable */ #line 19325 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 66871 "preproc.c" break; case 3644: /* indicator: SQL_INDICATOR cvariable */ #line 19326 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 66877 "preproc.c" break; case 3645: /* indicator: SQL_INDICATOR name */ #line 19327 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } #line 66883 "preproc.c" break; case 3646: /* cvariable: CVARIABLE */ #line 19331 "preproc.y" { /* As long as multidimensional arrays are not implemented we have to check for those here */ char *ptr = (yyvsp[0].str); int brace_open=0, brace = false; for (; *ptr; ptr++) { switch (*ptr) { case '[': if (brace) mmfatal(PARSE_ERROR, "multidimensional arrays for simple data types are not supported"); brace_open++; break; case ']': brace_open--; if (brace_open == 0) brace = true; break; case '\t': case ' ': break; default: if (brace_open == 0) brace = false; break; } } (yyval.str) = (yyvsp[0].str); } #line 66918 "preproc.c" break; case 3647: /* ecpg_param: PARAM */ #line 19363 "preproc.y" { (yyval.str) = make_name(); } #line 66924 "preproc.c" break; case 3648: /* ecpg_bconst: BCONST */ #line 19365 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66930 "preproc.c" break; case 3649: /* ecpg_fconst: FCONST */ #line 19367 "preproc.y" { (yyval.str) = make_name(); } #line 66936 "preproc.c" break; case 3650: /* ecpg_sconst: SCONST */ #line 19369 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66942 "preproc.c" break; case 3651: /* ecpg_xconst: XCONST */ #line 19371 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66948 "preproc.c" break; case 3652: /* ecpg_ident: IDENT */ #line 19373 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66954 "preproc.c" break; case 3653: /* ecpg_ident: CSTRING */ #line 19374 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 66960 "preproc.c" break; case 3654: /* quoted_ident_stringvar: name */ #line 19378 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } #line 66966 "preproc.c" break; case 3655: /* quoted_ident_stringvar: char_variable */ #line 19380 "preproc.y" { (yyval.str) = make3_str(mm_strdup("("), (yyvsp[0].str), mm_strdup(")")); } #line 66972 "preproc.c" break; case 3656: /* c_stuff_item: c_anything */ #line 19387 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66978 "preproc.c" break; case 3657: /* c_stuff_item: '(' ')' */ #line 19388 "preproc.y" { (yyval.str) = mm_strdup("()"); } #line 66984 "preproc.c" break; case 3658: /* c_stuff_item: '(' c_stuff ')' */ #line 19390 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } #line 66990 "preproc.c" break; case 3659: /* c_stuff: c_stuff_item */ #line 19393 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 66996 "preproc.c" break; case 3660: /* c_stuff: c_stuff c_stuff_item */ #line 19395 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } #line 67002 "preproc.c" break; case 3661: /* c_list: c_term */ #line 19398 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67008 "preproc.c" break; case 3662: /* c_list: c_list ',' c_term */ #line 19399 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } #line 67014 "preproc.c" break; case 3663: /* c_term: c_stuff */ #line 19402 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67020 "preproc.c" break; case 3664: /* c_term: '{' c_list '}' */ #line 19403 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } #line 67026 "preproc.c" break; case 3665: /* c_thing: c_anything */ #line 19406 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67032 "preproc.c" break; case 3666: /* c_thing: '(' */ #line 19407 "preproc.y" { (yyval.str) = mm_strdup("("); } #line 67038 "preproc.c" break; case 3667: /* c_thing: ')' */ #line 19408 "preproc.y" { (yyval.str) = mm_strdup(")"); } #line 67044 "preproc.c" break; case 3668: /* c_thing: ',' */ #line 19409 "preproc.y" { (yyval.str) = mm_strdup(","); } #line 67050 "preproc.c" break; case 3669: /* c_thing: ';' */ #line 19410 "preproc.y" { (yyval.str) = mm_strdup(";"); } #line 67056 "preproc.c" break; case 3670: /* c_anything: ecpg_ident */ #line 19413 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67062 "preproc.c" break; case 3671: /* c_anything: Iconst */ #line 19414 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67068 "preproc.c" break; case 3672: /* c_anything: ecpg_fconst */ #line 19415 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67074 "preproc.c" break; case 3673: /* c_anything: ecpg_sconst */ #line 19416 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67080 "preproc.c" break; case 3674: /* c_anything: '*' */ #line 19417 "preproc.y" { (yyval.str) = mm_strdup("*"); } #line 67086 "preproc.c" break; case 3675: /* c_anything: '+' */ #line 19418 "preproc.y" { (yyval.str) = mm_strdup("+"); } #line 67092 "preproc.c" break; case 3676: /* c_anything: '-' */ #line 19419 "preproc.y" { (yyval.str) = mm_strdup("-"); } #line 67098 "preproc.c" break; case 3677: /* c_anything: '/' */ #line 19420 "preproc.y" { (yyval.str) = mm_strdup("/"); } #line 67104 "preproc.c" break; case 3678: /* c_anything: '%' */ #line 19421 "preproc.y" { (yyval.str) = mm_strdup("%"); } #line 67110 "preproc.c" break; case 3679: /* c_anything: NULL_P */ #line 19422 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } #line 67116 "preproc.c" break; case 3680: /* c_anything: S_ADD */ #line 19423 "preproc.y" { (yyval.str) = mm_strdup("+="); } #line 67122 "preproc.c" break; case 3681: /* c_anything: S_AND */ #line 19424 "preproc.y" { (yyval.str) = mm_strdup("&&"); } #line 67128 "preproc.c" break; case 3682: /* c_anything: S_ANYTHING */ #line 19425 "preproc.y" { (yyval.str) = make_name(); } #line 67134 "preproc.c" break; case 3683: /* c_anything: S_AUTO */ #line 19426 "preproc.y" { (yyval.str) = mm_strdup("auto"); } #line 67140 "preproc.c" break; case 3684: /* c_anything: S_CONST */ #line 19427 "preproc.y" { (yyval.str) = mm_strdup("const"); } #line 67146 "preproc.c" break; case 3685: /* c_anything: S_DEC */ #line 19428 "preproc.y" { (yyval.str) = mm_strdup("--"); } #line 67152 "preproc.c" break; case 3686: /* c_anything: S_DIV */ #line 19429 "preproc.y" { (yyval.str) = mm_strdup("/="); } #line 67158 "preproc.c" break; case 3687: /* c_anything: S_DOTPOINT */ #line 19430 "preproc.y" { (yyval.str) = mm_strdup(".*"); } #line 67164 "preproc.c" break; case 3688: /* c_anything: S_EQUAL */ #line 19431 "preproc.y" { (yyval.str) = mm_strdup("=="); } #line 67170 "preproc.c" break; case 3689: /* c_anything: S_EXTERN */ #line 19432 "preproc.y" { (yyval.str) = mm_strdup("extern"); } #line 67176 "preproc.c" break; case 3690: /* c_anything: S_INC */ #line 19433 "preproc.y" { (yyval.str) = mm_strdup("++"); } #line 67182 "preproc.c" break; case 3691: /* c_anything: S_LSHIFT */ #line 19434 "preproc.y" { (yyval.str) = mm_strdup("<<"); } #line 67188 "preproc.c" break; case 3692: /* c_anything: S_MEMBER */ #line 19435 "preproc.y" { (yyval.str) = mm_strdup("->"); } #line 67194 "preproc.c" break; case 3693: /* c_anything: S_MEMPOINT */ #line 19436 "preproc.y" { (yyval.str) = mm_strdup("->*"); } #line 67200 "preproc.c" break; case 3694: /* c_anything: S_MOD */ #line 19437 "preproc.y" { (yyval.str) = mm_strdup("%="); } #line 67206 "preproc.c" break; case 3695: /* c_anything: S_MUL */ #line 19438 "preproc.y" { (yyval.str) = mm_strdup("*="); } #line 67212 "preproc.c" break; case 3696: /* c_anything: S_NEQUAL */ #line 19439 "preproc.y" { (yyval.str) = mm_strdup("!="); } #line 67218 "preproc.c" break; case 3697: /* c_anything: S_OR */ #line 19440 "preproc.y" { (yyval.str) = mm_strdup("||"); } #line 67224 "preproc.c" break; case 3698: /* c_anything: S_REGISTER */ #line 19441 "preproc.y" { (yyval.str) = mm_strdup("register"); } #line 67230 "preproc.c" break; case 3699: /* c_anything: S_RSHIFT */ #line 19442 "preproc.y" { (yyval.str) = mm_strdup(">>"); } #line 67236 "preproc.c" break; case 3700: /* c_anything: S_STATIC */ #line 19443 "preproc.y" { (yyval.str) = mm_strdup("static"); } #line 67242 "preproc.c" break; case 3701: /* c_anything: S_SUB */ #line 19444 "preproc.y" { (yyval.str) = mm_strdup("-="); } #line 67248 "preproc.c" break; case 3702: /* c_anything: S_TYPEDEF */ #line 19445 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } #line 67254 "preproc.c" break; case 3703: /* c_anything: S_VOLATILE */ #line 19446 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } #line 67260 "preproc.c" break; case 3704: /* c_anything: SQL_BOOL */ #line 19447 "preproc.y" { (yyval.str) = mm_strdup("bool"); } #line 67266 "preproc.c" break; case 3705: /* c_anything: ENUM_P */ #line 19448 "preproc.y" { (yyval.str) = mm_strdup("enum"); } #line 67272 "preproc.c" break; case 3706: /* c_anything: HOUR_P */ #line 19449 "preproc.y" { (yyval.str) = mm_strdup("hour"); } #line 67278 "preproc.c" break; case 3707: /* c_anything: INT_P */ #line 19450 "preproc.y" { (yyval.str) = mm_strdup("int"); } #line 67284 "preproc.c" break; case 3708: /* c_anything: SQL_LONG */ #line 19451 "preproc.y" { (yyval.str) = mm_strdup("long"); } #line 67290 "preproc.c" break; case 3709: /* c_anything: MINUTE_P */ #line 19452 "preproc.y" { (yyval.str) = mm_strdup("minute"); } #line 67296 "preproc.c" break; case 3710: /* c_anything: MONTH_P */ #line 19453 "preproc.y" { (yyval.str) = mm_strdup("month"); } #line 67302 "preproc.c" break; case 3711: /* c_anything: SECOND_P */ #line 19454 "preproc.y" { (yyval.str) = mm_strdup("second"); } #line 67308 "preproc.c" break; case 3712: /* c_anything: SQL_SHORT */ #line 19455 "preproc.y" { (yyval.str) = mm_strdup("short"); } #line 67314 "preproc.c" break; case 3713: /* c_anything: SQL_SIGNED */ #line 19456 "preproc.y" { (yyval.str) = mm_strdup("signed"); } #line 67320 "preproc.c" break; case 3714: /* c_anything: SQL_STRUCT */ #line 19457 "preproc.y" { (yyval.str) = mm_strdup("struct"); } #line 67326 "preproc.c" break; case 3715: /* c_anything: SQL_UNSIGNED */ #line 19458 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } #line 67332 "preproc.c" break; case 3716: /* c_anything: YEAR_P */ #line 19459 "preproc.y" { (yyval.str) = mm_strdup("year"); } #line 67338 "preproc.c" break; case 3717: /* c_anything: CHAR_P */ #line 19460 "preproc.y" { (yyval.str) = mm_strdup("char"); } #line 67344 "preproc.c" break; case 3718: /* c_anything: FLOAT_P */ #line 19461 "preproc.y" { (yyval.str) = mm_strdup("float"); } #line 67350 "preproc.c" break; case 3719: /* c_anything: TO */ #line 19462 "preproc.y" { (yyval.str) = mm_strdup("to"); } #line 67356 "preproc.c" break; case 3720: /* c_anything: UNION */ #line 19463 "preproc.y" { (yyval.str) = mm_strdup("union"); } #line 67362 "preproc.c" break; case 3721: /* c_anything: VARCHAR */ #line 19464 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } #line 67368 "preproc.c" break; case 3722: /* c_anything: '[' */ #line 19465 "preproc.y" { (yyval.str) = mm_strdup("["); } #line 67374 "preproc.c" break; case 3723: /* c_anything: ']' */ #line 19466 "preproc.y" { (yyval.str) = mm_strdup("]"); } #line 67380 "preproc.c" break; case 3724: /* c_anything: '=' */ #line 19467 "preproc.y" { (yyval.str) = mm_strdup("="); } #line 67386 "preproc.c" break; case 3725: /* c_anything: ':' */ #line 19468 "preproc.y" { (yyval.str) = mm_strdup(":"); } #line 67392 "preproc.c" break; case 3726: /* DeallocateStmt: DEALLOCATE prepared_name */ #line 19471 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } #line 67398 "preproc.c" break; case 3727: /* DeallocateStmt: DEALLOCATE PREPARE prepared_name */ #line 19472 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } #line 67404 "preproc.c" break; case 3728: /* DeallocateStmt: DEALLOCATE ALL */ #line 19473 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 67410 "preproc.c" break; case 3729: /* DeallocateStmt: DEALLOCATE PREPARE ALL */ #line 19474 "preproc.y" { (yyval.str) = mm_strdup("all"); } #line 67416 "preproc.c" break; case 3730: /* Iresult: Iconst */ #line 19477 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67422 "preproc.c" break; case 3731: /* Iresult: '(' Iresult ')' */ #line 19478 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } #line 67428 "preproc.c" break; case 3732: /* Iresult: Iresult '+' Iresult */ #line 19479 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("+"), (yyvsp[0].str)); } #line 67434 "preproc.c" break; case 3733: /* Iresult: Iresult '-' Iresult */ #line 19480 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("-"), (yyvsp[0].str)); } #line 67440 "preproc.c" break; case 3734: /* Iresult: Iresult '*' Iresult */ #line 19481 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("*"), (yyvsp[0].str)); } #line 67446 "preproc.c" break; case 3735: /* Iresult: Iresult '/' Iresult */ #line 19482 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("/"), (yyvsp[0].str)); } #line 67452 "preproc.c" break; case 3736: /* Iresult: Iresult '%' Iresult */ #line 19483 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("%"), (yyvsp[0].str)); } #line 67458 "preproc.c" break; case 3737: /* Iresult: ecpg_sconst */ #line 19484 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67464 "preproc.c" break; case 3738: /* Iresult: ColId */ #line 19485 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67470 "preproc.c" break; case 3739: /* Iresult: ColId '(' var_type ')' */ #line 19486 "preproc.y" { if (pg_strcasecmp((yyvsp[-3].str), "sizeof") != 0) mmerror(PARSE_ERROR, ET_ERROR, "operator not allowed in variable definition"); else (yyval.str) = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].type).type_str, mm_strdup(")")); } #line 67480 "preproc.c" break; case 3740: /* execute_rest: %empty */ #line 19493 "preproc.y" { (yyval.str) = EMPTY; } #line 67486 "preproc.c" break; case 3741: /* execute_rest: ecpg_using opt_ecpg_into */ #line 19494 "preproc.y" { (yyval.str) = EMPTY; } #line 67492 "preproc.c" break; case 3742: /* execute_rest: ecpg_into ecpg_using */ #line 19495 "preproc.y" { (yyval.str) = EMPTY; } #line 67498 "preproc.c" break; case 3743: /* execute_rest: ecpg_into */ #line 19496 "preproc.y" { (yyval.str) = EMPTY; } #line 67504 "preproc.c" break; case 3744: /* ecpg_into: INTO into_list */ #line 19499 "preproc.y" { (yyval.str) = EMPTY; } #line 67510 "preproc.c" break; case 3745: /* ecpg_into: into_descriptor */ #line 19500 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67516 "preproc.c" break; case 3746: /* opt_ecpg_into: %empty */ #line 19503 "preproc.y" { (yyval.str) = EMPTY; } #line 67522 "preproc.c" break; case 3747: /* opt_ecpg_into: ecpg_into */ #line 19504 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67528 "preproc.c" break; case 3748: /* ecpg_fetch_into: ecpg_into */ #line 19507 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67534 "preproc.c" break; case 3749: /* ecpg_fetch_into: using_descriptor */ #line 19509 "preproc.y" { struct variable *var; var = argsinsert->variable; remove_variable_from_list(&argsinsert, var); add_variable_to_head(&argsresult, var, &no_indicator); (yyval.str) = (yyvsp[0].str); } #line 67547 "preproc.c" break; case 3750: /* opt_ecpg_fetch_into: %empty */ #line 19519 "preproc.y" { (yyval.str) = EMPTY; } #line 67553 "preproc.c" break; case 3751: /* opt_ecpg_fetch_into: ecpg_fetch_into */ #line 19520 "preproc.y" { (yyval.str) = (yyvsp[0].str); } #line 67559 "preproc.c" break; #line 67563 "preproc.c" 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 ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; *++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. */ { const int yylhs = yyr1[yyn] - YYNTOKENS; const int yyi = yypgoto[yylhs] + *yyssp; yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp ? yytable[yyi] : yydefgoto[yylhs]); } 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 ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; yyerror (YY_("syntax error")); } 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); 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 when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (0) YYERROR; /* 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. */ /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYSYMBOL_YYerror; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) { 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", YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp); 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; ++yylsp; YYLLOC_DEFAULT (*yylsp, yyerror_range, 2); /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (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 /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; goto yyreturn; #endif /*-------------------------------------------------------. | yyreturn -- parsing is finished, clean up and return. | `-------------------------------------------------------*/ 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); } /* 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", YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } #line 19523 "preproc.y" void base_yyerror(const char *error) { /* translator: %s is typically the translation of "syntax error" */ mmerror(PARSE_ERROR, ET_ERROR, "%s at or near \"%s\"", _(error), token_start ? token_start : base_yytext); } void parser_init(void) { /* This function is empty. It only exists for compatibility with the backend parser right now. */ }